コード例 #1
0
        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());
        }
コード例 #2
0
        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);
            }
        }