From 9dcd17ee7578c5a06bfcd960cc72ea2995716004 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期三, 15 七月 2020 16:43:38 +0800
Subject: [PATCH] 20200715
---
HDL_ON/DriverLayer/Packet.cs | 104 +++++++++++++++++++++++++++------------------------
1 files changed, 55 insertions(+), 49 deletions(-)
diff --git a/HDL_ON/DriverLayer/Packet.cs b/HDL_ON/DriverLayer/Packet.cs
index fb19585..1d59954 100644
--- a/HDL_ON/DriverLayer/Packet.cs
+++ b/HDL_ON/DriverLayer/Packet.cs
@@ -62,61 +62,67 @@
}
else
{
- //瀵逛簬鎿嶄綔鏁版嵁搴撶殑鏃堕棿姣旇緝闀跨殑锛屽彲浠ュ垱寤哄彟涓�涓嚎绋嬪鐞�
- if (!"HDLMIRACLE".Equals(System.Text.Encoding.ASCII.GetString(Bytes, 4, 10)))
+ try
{
- return;
- }
-
- byte subnetID = this.Bytes[17]; //婧愬瓙缃戝彿
- byte deviceID = this.Bytes[18]; //婧愯澶囧彿
-
- //婧愯澶囩被鍨�
- int deviceType = this.Bytes[19] * 256 + this.Bytes[20];
-
- Command command = (Command)(Bytes[21] * 256 + Bytes[22]); //鎿嶄綔鐮佹帶鍒跺懡浠�
-
- byte targetSubnetID = this.Bytes[23];
- byte targetDeviceID = this.Bytes[24];
-
- //涓嶆槸瑕佹帴鏀剁殑鎸囦护灏辫繑鍥�
- if (!((targetSubnetID == 252 && targetDeviceID == 252) || (targetSubnetID == 0xff && targetDeviceID == 0xff)))
- {
- return;
- }
- byte[] usefulBytes = null;
- if (this.Bytes[16] == 0xFF)
- {
- usefulBytes = new byte[Bytes.Length - 16 - 11];
- System.Array.Copy(Bytes, 27, usefulBytes, 0, usefulBytes.Length);
- }
- else
- {
- //鏈夌敤鐨勯檮鍔犳暟鎹�
- usefulBytes = new byte[this.Bytes[16] - 11];
- Array.Copy(Bytes, 25, usefulBytes, 0, usefulBytes.Length);
- }
-
- if (ReceiveEvent != null)
- {
- string revIp = $"{Bytes[0]}.{Bytes[1]}.{Bytes[2]}.{Bytes[3]}";
- if (revIp == "172.16.2.237")
+ //瀵逛簬鎿嶄綔鏁版嵁搴撶殑鏃堕棿姣旇緝闀跨殑锛屽彲浠ュ垱寤哄彟涓�涓嚎绋嬪鐞�
+ if (!"HDLMIRACLE".Equals(System.Text.Encoding.ASCII.GetString(Bytes, 4, 10)))
{
-
+ return;
}
- ReceiveEvent(subnetID, deviceID, command, usefulBytes, revIp);
- }
- //if (command == Command.SuperGatewayAgentACK) {
- // SuperGateWay.SendAndReceiveDatas.Recevice (subnetID, deviceID, usefulBytes);
- //}
- if (ReceviceAllDadaAction != null)
+ byte subnetID = this.Bytes[17]; //婧愬瓙缃戝彿
+ byte deviceID = this.Bytes[18]; //婧愯澶囧彿
+
+ //婧愯澶囩被鍨�
+ int deviceType = this.Bytes[19] * 256 + this.Bytes[20];
+
+ Command command = (Command)(Bytes[21] * 256 + Bytes[22]); //鎿嶄綔鐮佹帶鍒跺懡浠�
+
+ byte targetSubnetID = this.Bytes[23];
+ byte targetDeviceID = this.Bytes[24];
+
+ //涓嶆槸瑕佹帴鏀剁殑鎸囦护灏辫繑鍥�
+ if (!((targetSubnetID == 252 && targetDeviceID == 252) || (targetSubnetID == 0xff && targetDeviceID == 0xff)))
+ {
+ return;
+ }
+ byte[] usefulBytes = null;
+ if (this.Bytes[16] == 0xFF)
+ {
+ usefulBytes = new byte[Bytes.Length - 16 - 11];
+ System.Array.Copy(Bytes, 27, usefulBytes, 0, usefulBytes.Length);
+ }
+ else
+ {
+ //鏈夌敤鐨勯檮鍔犳暟鎹�
+ usefulBytes = new byte[this.Bytes[16] - 11];
+ Array.Copy(Bytes, 25, usefulBytes, 0, usefulBytes.Length);
+ }
+
+ if (ReceiveEvent != null)
+ {
+ string revIp = $"{Bytes[0]}.{Bytes[1]}.{Bytes[2]}.{Bytes[3]}";
+ if (revIp == "172.16.2.237")
+ {
+
+ }
+ ReceiveEvent(subnetID, deviceID, command, usefulBytes, revIp);
+ }
+
+ //if (command == Command.SuperGatewayAgentACK) {
+ // SuperGateWay.SendAndReceiveDatas.Recevice (subnetID, deviceID, usefulBytes);
+ //}
+ if (ReceviceAllDadaAction != null)
+ {
+ ReceviceAllDadaAction(subnetID, deviceID, deviceType, command, targetSubnetID, targetDeviceID, usefulBytes, (System.Net.IPEndPoint)RemoteEndPoint);
+ }
+ //澶勭悊鏄惁瑕侀噸鍙戞暟鎹�
+ Control.ManagerReceive(subnetID, deviceID, command, targetSubnetID, targetDeviceID, usefulBytes, RemoteEndPoint);
+ }
+ catch (Exception ex)
{
- ReceviceAllDadaAction(subnetID, deviceID, deviceType, command, targetSubnetID, targetDeviceID, usefulBytes, (System.Net.IPEndPoint)RemoteEndPoint);
+ MainPage.Log($"packet {ex.Message} ");
}
- //澶勭悊鏄惁瑕侀噸鍙戞暟鎹�
- Control.ManagerReceive(subnetID, deviceID, command, targetSubnetID, targetDeviceID, usefulBytes, RemoteEndPoint);
-
}
}
}
--
Gitblit v1.8.0