Example #1
0
        private void StartConnectThread()
        {
            if (m_TcpClient == null)
            {
                m_TcpClient                   = new TcpClient();
                m_TcpClient.NoDelay           = true;
                m_TcpClient.ReceiveBufferSize = TcpClientReceiveBufferSize;
                m_TcpClient.ReceiveTimeout    = TcpClientReceiveTimeout;
                m_TcpClient.SendBufferSize    = TcpClientSendBufferSize;
                m_TcpClient.SendTimeout       = TcpClientSendTimeout;
            }

            m_Connecter = new ConnectThread(m_TcpClient, m_HostName, m_Port, delegate(bool ok)
            {
                Log.Debug("Connecter thread callback: " + ok.ToString());

                if (ok)
                {
                    m_TaskExecutor.Add(ConnectOK);
                }
                else
                {
                    m_TaskExecutor.Add(ConnectFail);
                }

                m_Connecter.ClearCallback();
                m_Connecter = null;
            });

            m_Connecter.Run();
        }
Example #2
0
        private void ConnectTimeout()
        {
            if (m_TcpClient != null && !m_TcpClient.Connected)
            {
                Log.Debug("Begin connect timeout and close socket");

                CloseTcpClient();

                if (m_Connecter != null)
                {
                    m_Connecter.ClearCallback();
                    m_Connecter = null;
                }

                ConnectFail();
            }
        }