Пример #1
0
 private ServerConnector()
 {
     logger = LoggerBuilder.Init().Set(GetType()).Info("Connector Start!");
     QueueThread.Push(() =>
     {
         while (true)
         {
             try
             {
                 _socket         = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP);
                 IPEndPoint ipep = new IPEndPoint(IPAddress.Parse(ServerInfo.GetIp()), ServerInfo.GetPort());
                 _socket.Connect(ipep);
                 ControlFactory.GetForm <Main>().SetConnection(true);
                 while (true)
                 {
                     byte[] size = new byte[4];
                     _socket.Receive(size, 4, SocketFlags.None);
                     byte[] data = new byte[BitConverter.ToInt32(size, 0)];
                     _socket.Receive(data, data.Length, SocketFlags.None);
                     String buf = Encoding.UTF8.GetString(data);
                     if (OnReceive != null)
                     {
                         logger.Info(" [NODE LOG] The data is recieved from node- " + buf);
                         OnReceive(buf);
                     }
                 }
             }
             catch (Exception e)
             {
                 ControlFactory.GetForm <Main>().SetConnection(false);
                 logger.Error(" [SCRAP LOG] - " + e.ToString());
             }
         }
     });
 }
Пример #2
0
        public ScrapExecutor Run()
        {
            Parameter.Starttime = DateTime.Now;
            String param = this.Parameter.ToString();

            byte[] buffer = Encoding.UTF8.GetBytes(param);
            base.StartInfo.Arguments = Convert.ToBase64String(buffer);
            base.Start();
            this.logger.Info(" [NODE LOG] Scraper process Start " + param);
            ControlFactory.GetForm <Main>().SetGrid(this.Parameter);
            return(this);
        }
Пример #3
0
 public void SetExecuter(ScrapExecutor process)
 {
     queue.Add(process);
     process.Exited += (s, e) =>
     {
         //TODO : not call
         ScrapExecutor b = (ScrapExecutor)s;
         //TODO : ??
         //ServerConnector.Instance().Send(b.ResponseCode.ToString());
         ControlFactory.GetForm <Main>().RemoveGrid(b.Parameter);
         queue.Remove(b);
     };
 }