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