void ServerClientConnected(object sender, ClientEventArgs e) { #if DEBUG Console.WriteLine("New Client :"); #endif //call plugins related to ClientConnectedHandler. foreach (ClientConnectedHandler cch in PluginLoader.LoadPlugin(typeof(ClientConnectedHandler))) if (cch.Enabled) { try { if (!cch.OnConnect(e.Client, (IPEndPoint)e.Client.Sock.RemoteEndPoint)) { e.Client.Disconnect(); return; } } catch { } } SocksClient client = new SocksClient(e.Client); e.Client.onDataReceived += Client_onDataReceived; e.Client.onDataSent += Client_onDataSent; client.onClientDisconnected += client_onClientDisconnected; Clients.Add(client); try { client.Start(this.PacketSize, this.Timeout); } catch (ObjectDisposedException ex) { Console.WriteLine(ex.Message); Clients.Remove(client); client.Dispose(); client = null; } }
void RemoteClientClientDisconnecting(object sender, ClientEventArgs e) { #if DEBUG Console.WriteLine("Remote DC'd"); #endif if (disconnected) return; disconnected = true; Client.Client.Disconnect(); OnTunnelDisposing(); }
// private bool remotedcd = false; void ClientClientDisconnecting(object sender, ClientEventArgs e) { if (disconnected) return; disconnected = true; RemoteClient.Disconnect(); OnTunnelDisposing(); }
void RemoteClientClientDisconnecting(object sender, ClientEventArgs e) { if (disconnected) return; Console.WriteLine("\tremote DC'd @" + RemoteClient.Sock.RemoteEndPoint); disconnected = true; // Client.Client.Disconnect(); OnTunnelDisposing(); }
void ClientClientDisconnecting(object sender, ClientEventArgs e) { this.OnDisconnected(this, new Socks5ClientArgs(this, SocksError.Expired)); }
void ClientClientDisconnecting(object sender, ClientEventArgs e) { }