private void ListenerOnClientConnect(object sender, Socket socket) { log.Info("New client connected!"); var client = new ClientConnection(socket); client.MessageReceived += ClientOnMessageReceived; client.ClientDisconnect += ClientOnClientDisconnect; lock (clientConnections) { clientConnections.Add(client); } client.Start(); }
public virtual void OnAccept(IAsyncResult ar) { try { Socket newSocket = listenSocket.EndAccept(ar); if (newSocket != null) { ClientConnection newClient = new ClientConnection(newSocket, new RemoveClientDelegate(this.RemoveClient)); clients.Add(newClient); newClient.Start(); } } catch {} try { listenSocket.BeginAccept(new AsyncCallback(this.OnAccept), listenSocket); } catch { Dispose(); } }
public virtual void OnAccept( IAsyncResult ar ) { try { Socket newSocket = listenSocket.EndAccept( ar ); if ( newSocket != null ) { ClientConnection newClient = new ClientConnection( newSocket, new RemoveClientDelegate( this.RemoveClient ) ); clients.Add( newClient ); newClient.Start(); } } catch {} try { listenSocket.BeginAccept( new AsyncCallback( this.OnAccept ), listenSocket ); } catch { Dispose(); } }