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()); } } }); }
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); }
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); }; }