private void SetupConnection(Socket s) { SetTcpKeepAlive(s); EndPoint = ((IPEndPoint)s.RemoteEndPoint); Connection = new InternalSyncIOConnectedClient(s, Packager); Connection.BeginReceve(ReceveHandler); Connection.OnDisconnect += Connection_OnDisconnect; }
private void TcpSock_OnClientConnect(BaseServerSocket sender, Socket s) { var client = new InternalSyncIOConnectedClient(s, _packager); client.SetID(_guidGenerator()); client.BeginReceve(ReceveHandler); client.Send(cl => { Clients.Add(cl); client.OnDisconnect += (c, err) => Clients.Remove(c); OnClientConnect?.Invoke(this, cl);//Trigger event after handshake packet has been sent. }, new HandshakePacket(client.ID, true)); }