diff --git a/FunGame.Server/Model/ServerModel.cs b/FunGame.Server/Model/ServerModel.cs index eef1dfe..cf127e0 100644 --- a/FunGame.Server/Model/ServerModel.cs +++ b/FunGame.Server/Model/ServerModel.cs @@ -1,4 +1,5 @@ -using System.Data; +using System.Collections; +using System.Data; using Milimoe.FunGame.Core.Api.Transmittal; using Milimoe.FunGame.Core.Api.Utility; using Milimoe.FunGame.Core.Entity; @@ -75,6 +76,11 @@ namespace Milimoe.FunGame.Server.Model return false; } + if (type == SocketMessageType.DataRequest) + { + return DataRequestHandler(socket, SocketObject); + } + // 如果不等于这些Type,就不会输出一行记录。这些Type有特定的输出。 SocketMessageType[] IgnoreType = new SocketMessageType[] { SocketMessageType.HeartBeat, SocketMessageType.Login, SocketMessageType.IntoRoom, SocketMessageType.Chat}; @@ -507,6 +513,32 @@ namespace Milimoe.FunGame.Server.Model _ClientName = ClientName; } + private bool DataRequestHandler(ClientSocket socket, SocketObject SocketObject) + { + Hashtable ResultData = new(); + DataRequestType type = DataRequestType.UnKnown; + + if (SocketObject.Parameters.Length > 0) + { + try + { + type = SocketObject.GetParam(0); + switch (type) + { + case DataRequestType.UnKnown: + break; + } + } + catch (Exception e) + { + ServerHelper.Error(e); + return false; + } + } + + return Send(socket, SocketMessageType.DataRequest, type, ResultData); + } + private void KickUser() { if (User.Id != 0)