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