From cdf20a4525a2ff9f6fe2c1e9b69fa2854c5848fd Mon Sep 17 00:00:00 2001 From: zxx <Zxx@HanInfo> Date: 星期二, 27 五月 2025 17:17:03 +0800 Subject: [PATCH] 巨石 --- HH.WCS.Mobox3/HH.WCS.Mobox3.JuShi/device/TcpServer.cs | 30 +++++++++++++++++++++++------- 1 files changed, 23 insertions(+), 7 deletions(-) diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.JuShi/device/TcpServer.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.JuShi/device/TcpServer.cs index 22ab780..f4885fd 100644 --- a/HH.WCS.Mobox3/HH.WCS.Mobox3.JuShi/device/TcpServer.cs +++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.JuShi/device/TcpServer.cs @@ -1,4 +1,5 @@ -锘縰sing System; +锘縰sing Newtonsoft.Json; +using System; using System.Collections.Generic; using System.Linq; using System.Net; @@ -22,6 +23,7 @@ socket.Listen(30); //寮�鎺ュ彈瀹㈡埛绔繛鎺ヨ姹� socket.BeginAccept(new AsyncCallback(ClientAccepted), socket); + //Console.ReadLine(); } catch (Exception e) { Console.WriteLine(e.Message); @@ -30,7 +32,11 @@ public static Dictionary<string, Socket> clients = new Dictionary<string, Socket>(); public static Dictionary<string, byte[]> buffers = new Dictionary<string, byte[]>(); public static void ClientAccepted(IAsyncResult ar) { + //try + //{ + + Console.WriteLine("ClientAccepted================"); var socket = ar.AsyncState as Socket; var client = socket.EndAccept(ar); string remote_ip = ((System.Net.IPEndPoint)client.RemoteEndPoint).Address.ToString(); @@ -55,11 +61,19 @@ } //鍑嗗鎺ュ彈涓嬩竴涓鎴风璇锋眰 socket.BeginAccept(new AsyncCallback(ClientAccepted), socket); + + + //} + //catch (Exception ex) + //{ + // Console.WriteLine($"ClientAccepted 寮傚父: {ex.ToString()}"); + //} } public static void ReceiveMessage(IAsyncResult ar) { try { + //Console.WriteLine("ReceiveMessage================"); var socket = ar.AsyncState as Socket; string remote_ip = ((System.Net.IPEndPoint)socket.RemoteEndPoint).Address.ToString(); var length = socket.EndReceive(ar); @@ -80,10 +94,12 @@ if (buffers.Keys.Contains(remote_ip)) { //璇诲彇鍑烘潵娑堟伅鍐呭 var message = GetHexString(buffers[remote_ip], length);//16 10 - Console.WriteLine(message); + Console.WriteLine($"ReceiveMessage鎺ユ敹淇″彿锛歿message}"); + LogHelper.Info($"ReceiveMessage鎺ユ敹淇″彿锛歿message}"); + //Console.WriteLine(message); //3A 00 01 00 01 05 73 00 02 01 01 B8 //鎸夐挳鐩�- if (message.Substring(0, 2) == "3A") { + if (message.Substring(0, 2) == "3a") { //鏄剧ず娑堟伅 if (length != 24) { message = message.Substring(0, 24); @@ -91,14 +107,14 @@ PlcHelper.Receive(remote_ip, message); Array.Clear(buffers[remote_ip], 0, buffers[remote_ip].Length);//娓呯┖褰撳墠IP Buffer } - //3F 00 10 20 30 40 0D 0A + //3F 00 10 20 30 40 50 60 0D 0A //瀹夊叏浜や簰 - else if (message.Substring(0, 4) == "3F00") + else if (message.Substring(0, 4) == "3f00") { //鏄剧ず娑堟伅 - if (length != 16) + if (length != 20) { - message = message.Substring(0, 16); + message = message.Substring(0, 20); } PlcHelper.Receive(remote_ip, message); Array.Clear(buffers[remote_ip], 0, buffers[remote_ip].Length);//娓呯┖褰撳墠IP Buffer -- Gitblit v1.9.1