void _server_onClientConnected(object sender, ClientEventArgs e) { //Console.WriteLine("Client connected."); //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); client.Client.onDataReceived += Client_onDataSent; client.Client.onDataSent += Client_onDataReceived; client.onClientDisconnected += client_onClientDisconnected; Clients.Add(client); client.Begin(this.PacketSize, this.Timeout); }
private void _server_onClientConnected(object sender, ClientEventArgs e) { //call plugins related to ClientConnectedHandler. foreach (ClientConnectedHandler cch in PluginLoader.LoadPlugin(typeof(ClientConnectedHandler))) { try { if (cch.OnConnect(e.Client, (IPEndPoint)e.Client.Sock.RemoteEndPoint)) { continue; } e.Client.Disconnect(); return; } catch { } } var client = new SocksClient(e.Client); client.OnClientDisconnected += client_onClientDisconnected; Clients.Add(client); client.Begin(OutboundIpAddress, PacketSize, Timeout); }
///<summary>Called when there's an incoming client connection waiting to be accepted.</summary> ///<param name="ar">The result of the asynchronous operation.</param> public override void OnAccept(IAsyncResult ar) { try { Socket NewSocket = ListenSocket.EndAccept(ar); if (NewSocket != null) { SocksClient NewClient = new SocksClient(NewSocket, RemoveClient, AuthList); AddClient(NewClient); NewClient.StartHandshake(); } } catch { } try { //Restart Listening ListenSocket.BeginAccept(new AsyncCallback(OnAccept), ListenSocket); } catch { Dispose(); } }
public SocksTunnel(SocksClient p, SocksRequest req, SocksRequest req1, int packetSize, int timeout) { RemoteClient = new Client(new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp), packetSize); Client = p; Req = req; ModifiedReq = req1; Timeout = timeout; }
void _server_onClientConnected(object sender, ClientEventArgs e) { //Console.WriteLine("Client connected."); SocksClient client = new SocksClient(e.Client); client.onClientDisconnected += client_onClientDisconnected; Clients.Add(client); client.Begin(this.PacketSize, this.Timeout); }
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; } }
public SocksClientEventArgs(SocksClient client) { Client = client; }