// Public public void Connect(string hostname, int port) { if (mxState == AFTCPClientState.Connected) { return; } mxState = AFTCPClientState.Connecting; mxEventQueue.Clear(); mxClient = new TcpClient(); mxClient.BeginConnect(hostname, port, new AsyncCallback(ConnectCallback), mxClient); }
public void Disconnect() { mxState = AFTCPClientState.Disconnected; try { if (mxReader != null) { mxReader.Close(); } } catch (Exception e) { e.ToString(); } try { if (mxWriter != null) { mxWriter.Close(); } } catch (Exception e) { e.ToString(); } try { if (mxClient != null) { mxClient.Close(); } } catch (Exception e) { e.ToString(); } }
public void SetTcpClient(TcpClient tcpClient) { mxClient = tcpClient; if (mxClient.Connected) { mxStream = mxClient.GetStream(); mxReader = new StreamReader(mxStream); mxWriter = new StreamWriter(mxStream); mxState = AFTCPClientState.Connected; lock (mxEventQueue) { mxEventQueue.Enqueue(new AFTCPEvent(AFTCPEventType.Connected)); } mxReadThread = new Thread(ReadData); mxReadThread.IsBackground = true; mxReadThread.Start(); } else { mxState = AFTCPClientState.Disconnected; } }