private void Server_ClientDisconnected(object sender, System.Net.Sockets.TcpClient e) { KeyValuePair <Guid, Socket> result = this.PlayerToSocket.First(x => x.Value == e.Client); this.PlayerToSocket.Remove(result.Key); ServerSendRecieve.Recieve(new DisconnectMessage(result.Key)); MasterLog.DebugWriteLine("Client disconnected: " + e.Client.RemoteEndPoint.ToString()); }
private void Server_DataReceived(object sender, Message e) { this.MsgBuffer.ReceiveData(e.Data); while (this.MsgBuffer.IsMessageAvailible()) { BaseMessage msg = this.MsgBuffer.GetMessageData(); if (msg is LoginMessage login) { this.PlayerToSocket.Add(login.PlayerID, e.TcpClient.Client); } ServerSendRecieve.Recieve(msg); } }