Просмотр исходного кода

Merge repos.ubtob.net:usoft/mes-client

callm 2 недель назад
Родитель
Сommit
33a57901d9
1 измененных файлов с 34 добавлено и 20 удалено
  1. 34 20
      UAS_MES_HYSX/FunctionCode/Make/Make_ListenSocket.cs

+ 34 - 20
UAS_MES_HYSX/FunctionCode/Make/Make_ListenSocket.cs

@@ -141,20 +141,23 @@ namespace UAS_MES_NEW.Make
                         LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, omakeCode, User.UserLineCode, User.UserSourceCode, "产测软件对接", "产测软件对接成功", serial, "");
                         ShowMsg(1, $"序列号: {serial} 过站处理成功");
                     }
-                } 
+                }
+
+                //string newJsonData = "{\"Name\":\"VerifyResult\",\"Data\":\"{\"ErrorCode\":\"0\",\"ErrorMsg\":\"\",\"Serial\":\"" + serial + "\"}\"}";
 
+                var dataObject = new
+                {
+                    ErrorCode = "0",
+                    ErrorMsg = "PD111111",
+                    Serial = "123456789"
+                };
+                string dataJson = JsonConvert.SerializeObject(dataObject, Formatting.None);
                 VerifyResultMessage message = new VerifyResultMessage
                 {
                     Name = "VerifyResult",
-                    Data = new VerifyResultData
-                    {
-                        ErrorCode = "0",
-                        ErrorMsg = "",
-                        Serial = serial
-                    }
+                    Data = dataJson
                 };
                 string jsonMessage = JsonConvert.SerializeObject(message, Formatting.None);
-
                 string sendMsg = _server.SendMessage(e.ClientId, jsonMessage);
 
                 ShowMsg(sendMsg.StartsWith("OK") ? 1 : 0, sendMsg);
@@ -315,7 +318,7 @@ namespace UAS_MES_NEW.Make
             public string Name { get; set; } = "VerifyResult";
 
             [JsonProperty("Data")]
-            public VerifyResultData Data { get; set; }
+            public string Data { get; set; }
         }
 
 
@@ -590,26 +593,37 @@ namespace UAS_MES_NEW.Make
                         return $"NG,客户端 {clientId} 连接已断开";
                     }
 
-                    byte[] jsonBytes = Encoding.Unicode.GetBytes(jsonMessage);  // UTF-16 LE编码
-                    long length = jsonBytes.Length;  // UTF-16字节长度
-
-                    byte[] packet = new byte[8 + jsonBytes.Length];  // 8字节长度头
-                                                                     // 8字节小端序(与客户端4字节小端序对应,只是扩展为8字节)
+                    var utf16LE = new UnicodeEncoding(false, false);
+                    byte[] jsonBytes = utf16LE.GetBytes(jsonMessage);
+                    long length = jsonBytes.Length;
+                    byte[] packet = new byte[4 + jsonBytes.Length + 2];
+                    // 大端序
+                    /*packet[0] = (byte)(length >> 24);
+                    packet[1] = (byte)(length >> 16);
+                    packet[2] = (byte)(length >> 8);
+                    packet[3] = (byte)(length);*/
+
+                    // 小端序
                     packet[0] = (byte)(length);
                     packet[1] = (byte)(length >> 8);
                     packet[2] = (byte)(length >> 16);
                     packet[3] = (byte)(length >> 24);
-                    packet[4] = (byte)(length >> 32);
-                    packet[5] = (byte)(length >> 40);
-                    packet[6] = (byte)(length >> 48);
-                    packet[7] = (byte)(length >> 56);
+                    Array.Copy(jsonBytes, 0, packet, 4, jsonBytes.Length);
+                    packet[packet.Length - 2] = 0x00;
+                    packet[packet.Length - 1] = 0x00;
 
-                    Array.Copy(jsonBytes, 0, packet, 8, jsonBytes.Length);
                     clientSocket.BeginSend(packet, 0, packet.Length, SocketFlags.None,
                         new AsyncCallback(SendCallback),
                         new { ClientId = clientId, ClientSocket = clientSocket });
 
-                    return $"OK,发送成功,JSON长度: {jsonMessage.Length}, 报文总字节: {packet.Length} 到 {clientId}";
+                    string result2 = BitConverter.ToString(packet).Replace("-", " ");
+                    return $"OK,发送成功,JSON长度: {jsonMessage.Length}, 报文总字节: {packet.Length} 到 {clientId},({result2})({jsonMessage})";
+
+                    //byte[] jsonBytes = Encoding.Unicode.GetBytes(jsonMessage);
+                    //clientSocket.BeginSend(jsonBytes, 0, jsonBytes.Length, SocketFlags.None,
+                    //    new AsyncCallback(SendCallback),
+                    //    new { ClientId = clientId, ClientSocket = clientSocket });
+                    //return $"OK,发送成功,JSON长度: {jsonMessage.Length}, 报文总字节: {jsonBytes.Length} 到 {clientId}";
                 }
                 catch (Exception ex)
                 {