From de293557abc3b5fe397a2e5f6a7a78c524917040 Mon Sep 17 00:00:00 2001 From: Yezi <53083103+yeziuku@users.noreply.github.com> Date: Tue, 6 Jun 2023 20:04:11 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=BF=E7=94=A8ReceiveArray()=E8=AF=BB?= =?UTF-8?q?=E5=8F=96=20(#16)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FunGame.Server/FunGame.Server.csproj | 4 ---- FunGame.Server/Main.cs | 23 ++++++++++++++--------- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/FunGame.Server/FunGame.Server.csproj b/FunGame.Server/FunGame.Server.csproj index 0b09dfa..838d5d3 100644 --- a/FunGame.Server/FunGame.Server.csproj +++ b/FunGame.Server/FunGame.Server.csproj @@ -30,10 +30,6 @@ - - - - diff --git a/FunGame.Server/Main.cs b/FunGame.Server/Main.cs index fdece6b..73332d1 100644 --- a/FunGame.Server/Main.cs +++ b/FunGame.Server/Main.cs @@ -3,6 +3,7 @@ using Milimoe.FunGame.Core.Api.Utility; using Milimoe.FunGame.Core.Library.Common.Network; using Milimoe.FunGame.Core.Library.Constant; using Milimoe.FunGame.Core.Library.SQLScript.Common; +using Milimoe.FunGame.Core.Library.SQLScript.Entity; using Milimoe.FunGame.Server.Model; using Milimoe.FunGame.Server.Others; using Milimoe.FunGame.Server.Utility; @@ -166,17 +167,21 @@ void StartServer() bool Read(ClientSocket socket) { // 接收客户端消息 - SocketObject read = socket.Receive(); - SocketMessageType type = read.SocketType; - object[] objs = read.Parameters; - if (type != SocketMessageType.Unknown) + foreach (SocketObject read in socket.ReceiveArray()) { - if (objs[0] != null && objs[0].GetType() == typeof(string) && objs[0].ToString()!.Trim() != "") - ServerHelper.WriteLine("[" + ServerSocket.GetTypeString(type) + "] " + ServerHelper.MakeClientName(socket.ClientIP) + " -> " + objs[0]); - else - ServerHelper.WriteLine("[" + ServerSocket.GetTypeString(type) + "] " + ServerHelper.MakeClientName(socket.ClientIP)); - return true; + SocketMessageType type = read.SocketType; + if (type == SocketMessageType.Connect) + { + if (read.Parameters.Length > 0) + { + string str = (read.GetParam(0) ?? "").Trim(); + if (str != "") ServerHelper.WriteLine("[" + ServerSocket.GetTypeString(type) + "] " + ServerHelper.MakeClientName(socket.ClientIP) + " -> " + str); + } + else ServerHelper.WriteLine("[" + ServerSocket.GetTypeString(type) + "] " + ServerHelper.MakeClientName(socket.ClientIP)); + return true; + } } + ServerHelper.WriteLine("客户端发送了不符合FunGame规定的字符,拒绝连接。"); return false; }