private void OnClientConnected(object sender, SocketAsyncEventArgs e) { if (Client.Connected == false) { OnConnected(false, e.SocketError.ToString()); if (OnAsyncConnectFinished != null) { OnAsyncConnectFinished(this, false, e.SocketError.ToString()); } return; } if (SOCKStrans.IsFilterActive == true) { if (m_Logger != null) { m_Logger.LogMessage(ToString(), MessageImportance.Medium, "Starting TLS negotiation"); } SOCKStrans.Start(); // SOCKS object will trigger the connection finished event when it's done return; } NegotiationsFinishedFireConnected(true, ""); }
private void OnClientConnected(IAsyncResult ar) { Socket s = ar.AsyncState as Socket; string strError = ""; try { s.EndConnect(ar); } catch (SocketException e) /// winso { strError = string.Format("{0} - {1}", e.ErrorCode, e.ToString()); if (m_Logger != null) { m_Logger.LogError(ToString(), MessageImportance.Highest, strError); } } catch (ObjectDisposedException e2) // socket was closed { strError = e2.ToString(); if (m_Logger != null) { m_Logger.LogError(ToString(), MessageImportance.Highest, strError); } } this.Init(s, null); if (s.Connected == false) { OnConnected(false, strError); if (OnAsyncConnectFinished != null) { OnAsyncConnectFinished(this, false, strError); } return; } if (SOCKStrans.IsFilterActive == true) { SOCKStrans.Start(); return; } NegotiationsFinishedFireConnected(true, ""); }