Пример #1
0
        // 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);
        }
Пример #2
0
        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(); }
        }
Пример #3
0
        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;
            }
        }