From 38b2ca9b335c02030a8b1c2b5a2676824ecb4fb7 Mon Sep 17 00:00:00 2001 From: Mili Date: Mon, 22 Aug 2022 23:31:20 +0800 Subject: [PATCH] Update #1 --- Main.cs | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/Main.cs b/Main.cs index 1a3c226..6f54f41 100644 --- a/Main.cs +++ b/Main.cs @@ -44,7 +44,7 @@ try new ClientSocket(socket, Running).Start(); }); // 接收客户端消息 - Receive(socket); + Read(socket); // 发送给客户端消息 Send(socket); } @@ -87,24 +87,28 @@ Console.WriteLine("服务器已关闭,按任意键退出程序。"); Console.ReadKey(); -static void Receive(Socket socket) +void Read(Socket socket) { - byte[] bytes = new byte[1024]; - //从客户端接收消息 - int len = socket.Receive(bytes, bytes.Length, 0); - //将消息转为字符串 - string recvStr = Encoding.ASCII.GetString(bytes, 0, len); - Console.WriteLine("接收的客户端消息 : {0}", recvStr); + // 接收客户端消息 + byte[] buffer = new byte[2048]; + int length = socket.Receive(buffer); + if (length > 0) + { + string msg = Encoding.GetEncoding("unicode").GetString(buffer, 0, length); + Console.WriteLine("收到来自:客户端 -> " + msg); + } + else + Console.WriteLine("客户端没有回应。"); } void Send(Socket socket) { - string sendStr = ">> 服务器" + host + ":" + port + "连接成功"; - Console.WriteLine("发送给客户端消息 : {0}", sendStr); - // 将字符串消息转为数组 - byte[] bytes = Encoding.ASCII.GetBytes(sendStr); - //发送消息给客户端 - socket.Send(bytes, bytes.Length, 0); + // 发送消息给客户端 + string msg = ">> 已连接至服务器 -> [ " + host + " ] 连接成功"; + Console.WriteLine("发送给:客户端 <- " + msg); + byte[] buffer = new byte[2048]; + buffer = Encoding.GetEncoding("unicode").GetBytes(msg); + socket.Send(buffer); } bool IsIP(string ip)