public SocksReplyMessage Start(string strRemoteHost, int nRemotePort) { SocksReplyMessage reply = new SocksReplyMessage(); reply.AddressType = AddressType.IPV4; bool bAccept = Listener.EnableAccept(0); if (bAccept == false) { reply.SOCKSReply = SOCKSReply.GeneralServerFailure; return(reply); } IPEndPoint BoundEp = Listener.ListeningSocket.LocalEndPoint as IPEndPoint; bool bConnected = RemoteClient.Connect(strRemoteHost, nRemotePort, false); if (bConnected == false) { reply.SOCKSReply = SOCKSReply.ConnectionRefused; Listener.Close(); Listener = null; return(reply); } reply.SOCKSReply = SOCKSReply.Succeeded; reply.BindAddress = BoundEp.Address; reply.BindPort = (ushort)BoundEp.Port; reply.AddressType = AddressType.IPV4; return(reply); }
public void Dispose() { _listener.Stop(); _listener.Close(); _listener.Dispose(); }
public override void Close() { baseListener.Close(); }
public override void Close() { //Nothing to close at this layer. baseListener.Close(); }
public override void Close() { baseSocket.Close(); }
public override void Close() { //Nothing to close at this layer; Ssl acts transparently at the stream level. baseListener.Close(); }