private void SetupConnection(Socket s) { SetTcpKeepAlive(s); EndPoint = (IPEndPoint)s.RemoteEndPoint; _connection = new InternalSecureSocketConnectedClient(s, _packager); _connection.BeginReceive(ReceiveHandler); _connection.OnDisconnect += Connection_OnDisconnect; }
private void TcpSock_OnClientConnect(BaseServerSocket sender, Socket s) { InternalSecureSocketConnectedClient client = new InternalSecureSocketConnectedClient(s, _packager); client.SetId(_guidGenerator()); client.BeginReceive(ReceiveHandler); client.Send(cl => { Clients.Add(cl); client.OnDisconnect += (c, err) => { Clients.Remove(c); }; OnClientConnect?.Invoke(this, cl); }, new HandshakePacket(true, client.Id)); }