private void ProcessCommand(IAsyncResult ar) { TcpScriptListener.StateObject stateObject = (TcpScriptListener.StateObject)ar.AsyncState; TcpClient client = stateObject.client; try { if (client.Connected) { int num = 0; try { num = client.Client.EndReceive(ar); } catch { num = 0; } if (num != 0) { string @string = Encoding.Default.GetString(stateObject.buffer, 0, num); base.FireRecv(@string); } } } catch (Exception ex) { Logger.Exception(ex.Message); } TcpScriptListener.StateObject stateObject2 = new TcpScriptListener.StateObject(); stateObject2.client = client; client.GetStream().BeginRead(stateObject2.buffer, 0, stateObject2.buffer.Length, new AsyncCallback(this.ProcessCommand), stateObject2); }
protected void ThreadFunc() { try { _ip_from = new IPEndPoint(IPAddress.Any, _port); _listenr.Start(); byte[] array = new byte[1024]; while (_terminated) { TcpClient tcpClient = _listenr.AcceptTcpClient(); TcpScriptListener.StateObject stateObject = new TcpScriptListener.StateObject(); stateObject.client = tcpClient; tcpClient.GetStream().BeginRead(stateObject.buffer, 0, stateObject.buffer.Length, new AsyncCallback(ProcessCommand), stateObject); Thread.Sleep(10); } _listenr.Stop(); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } finally { } }
private void ProcessCommand(IAsyncResult ar) { TcpScriptListener.StateObject stateObject =(TcpScriptListener.StateObject)ar.AsyncState; TcpClient client = stateObject.client; try { if (client.Connected) { int num = 0; try { num = client.Client.EndReceive(ar); } catch { num = 0; } if (num != 0) { string @string = Encoding.Default.GetString(stateObject.buffer, 0, num); base.FireRecv(@string); } } } catch (Exception ex) { Logger.Exception(ex.Message); } TcpScriptListener.StateObject stateObject2 = new TcpScriptListener.StateObject(); stateObject2.client = client; client.GetStream().BeginRead(stateObject2.buffer, 0, stateObject2.buffer.Length, new AsyncCallback(this.ProcessCommand), stateObject2); }