From 20f70e3446df19bf5d0faaae9f7bd58fd0fc4bcc Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期五, 04 八月 2023 12:06:51 +0800
Subject: [PATCH] 轮询备份
---
Crabtree/SmartHome/HDL/Operation/Control.cs | 95 ++++++++++++++++++++++++++++++++++-------------
1 files changed, 68 insertions(+), 27 deletions(-)
diff --git a/Crabtree/SmartHome/HDL/Operation/Control.cs b/Crabtree/SmartHome/HDL/Operation/Control.cs
index c8a7a12..a0e7570 100644
--- a/Crabtree/SmartHome/HDL/Operation/Control.cs
+++ b/Crabtree/SmartHome/HDL/Operation/Control.cs
@@ -79,6 +79,14 @@
string receiveFlag = string.Format ("{0},{1},{2},", subnetID, deviceID, (int)command);
switch ((Command)command) {
+ case Command.enjoyUpgradeACK:
+ case Command.enjoyUpgrade2ACK:
+ case Command.readGatewayVisionACK:
+ case Command.InitializationGatewayACK:
+ case Command.WriteSecretKeyACK:
+ case Command.WriteHomeIdACK:
+ receiveFlag += "";
+ break;
case Command.ReadDoorLockSceneObjACK:
receiveFlag += string.Format ("{0},{1},{2},{3},{4}", usefulBytes [0], usefulBytes [1], usefulBytes [2], usefulBytes [3], usefulBytes [4]);
break;
@@ -271,7 +279,7 @@
default:
break;
}
- //System.Console.WriteLine ("鎺ユ敹鍒版暟鎹細" + receiveFlag);
+ System.Console.WriteLine ("鎺ユ敹鍒版暟鎹細" + receiveFlag);
for (int i = 0; i < controlList.Count; i++) {
try {
@@ -371,41 +379,64 @@
void managerSendCount (object o)
{
add ();
- if (Shared.SimpleControl.CommonPage.IsRemote && !isLocal) {
- System.Console.WriteLine ("杩滅▼鍙戦�佹暟鎹�:" + SendFlag);
- SmartHome.MqttCommon.MqttRemoteSend (Packet.Bytes);
- Packet.FlagDateTime = DateTime.Now;
+ try {
+ System.Console.WriteLine ("鍙戦�佹暟鎹�:" + SendFlag);
+ BusSocket.AsyncBeginSend (Packet);
Packet.HaveSendCount--;
+
//杩欓噷鏄噸鍙戜袱娆�
while (Packet.HaveSendCount < 3) {
if (Packet.FlagDateTime.AddMilliseconds (1000).Ticks <= System.DateTime.Now.Ticks) {
- SmartHome.MqttCommon.MqttRemoteSend (Packet.Bytes);
- System.Console.WriteLine ("閲嶅彂杩滅▼鍙戦�佹暟鎹�:" + SendFlag);
- Packet.FlagDateTime = DateTime.Now;
- Packet.HaveSendCount++;
+ //System.Console.WriteLine ("閲嶅彂鏁版嵁:" + SendFlag);
+ BusSocket.AsyncBeginSend (Packet);
}
System.Threading.Thread.Sleep (100);
- }鈥� allDone.Set ();鈥� } else {
- try {
- System.Console.WriteLine ("鍙戦�佹暟鎹�:" + SendFlag);
- BusSocket.AsyncBeginSend (Packet);
- Packet.HaveSendCount--;
+ }
- //杩欓噷鏄噸鍙戜袱娆�
- while (Packet.HaveSendCount < 3) {
- if (Packet.FlagDateTime.AddMilliseconds (1000).Ticks <= System.DateTime.Now.Ticks) {
- System.Console.WriteLine ("閲嶅彂鏁版嵁:" + SendFlag);
- BusSocket.AsyncBeginSend (Packet);
- }
- System.Threading.Thread.Sleep (100);
- }
-
- } catch (Exception ex) {
- Console.WriteLine ("managerSendCount:" + ex.ToString ());
- } finally {
- allDone.Set ();
+ } catch (Exception ex) {
+ Console.WriteLine ("managerSendCount:" + ex.ToString ());
+ } finally {
+ allDone.Set ();
+ if (Packet.HaveSendCount == 3 && IsCanShowTip) {
+ //MainPage.AddTip (Language.StringByID (SimpleControl.R.MyInternationalizationString.OperationFailed));
}
}
+ return;
+ //if (Shared.SimpleControl.CommonPage.IsRemote && !isLocal) {
+ // System.Console.WriteLine ("杩滅▼鍙戦�佹暟鎹�:" + SendFlag);
+ // SmartHome.MqttCommon.MqttRemoteSend (Packet.Bytes);
+ // Packet.FlagDateTime = DateTime.Now;
+ // Packet.HaveSendCount--;
+ // //杩欓噷鏄噸鍙戜袱娆�
+ // while (Packet.HaveSendCount < 3) {
+ // if (Packet.FlagDateTime.AddMilliseconds (1000).Ticks <= System.DateTime.Now.Ticks) {
+ // SmartHome.MqttCommon.MqttRemoteSend (Packet.Bytes);
+ // System.Console.WriteLine ("閲嶅彂杩滅▼鍙戦�佹暟鎹�:" + SendFlag);
+ // Packet.FlagDateTime = DateTime.Now;
+ // Packet.HaveSendCount++;
+ // }
+ // System.Threading.Thread.Sleep (100);
+ // }鈥� // allDone.Set ();鈥� //} else {
+ // try {
+ // System.Console.WriteLine ("鍙戦�佹暟鎹�:" + SendFlag);
+ // BusSocket.AsyncBeginSend (Packet);
+ // Packet.HaveSendCount--;
+
+ // //杩欓噷鏄噸鍙戜袱娆�
+ // while (Packet.HaveSendCount < 3) {
+ // if (Packet.FlagDateTime.AddMilliseconds (1000).Ticks <= System.DateTime.Now.Ticks) {
+ // System.Console.WriteLine ("閲嶅彂鏁版嵁:" + SendFlag);
+ // BusSocket.AsyncBeginSend (Packet);
+ // }
+ // System.Threading.Thread.Sleep (100);
+ // }
+
+ // } catch (Exception ex) {
+ // Console.WriteLine ("managerSendCount:" + ex.ToString ());
+ // } finally {
+ // allDone.Set ();
+ // }
+ //}
}
/// <summary>
/// 褰撳墠鏁版嵁鍖�
@@ -417,6 +448,16 @@
this.SendFlag = string.Format ("{0},{1},{2},", target.SubnetID, target.DeviceID, (int)target.Command + 1);
switch (target.Command) {
+ case Command.readGatewayVision:
+ case Command.enjoyUpgrade:
+ case Command.InitializationGateway:
+ case Command.WriteSecretKey:
+ case Command.WriteHomeId:
+ this.SendFlag += "";
+ break;
+ case Command.enjoyUpgrade2:
+ this.SendFlag = string.Format ("{0},{1},{2},", target.SubnetID, target.DeviceID, (int)target.Command - 1);
+ break;
case Command.ReadDoorLockSceneObj:
this.SendFlag += string.Format ("{0},{1},{2},{3},{4}", target.AddData [0], target.AddData [1], target.AddData [2], target.AddData [3], target.AddData [4]);
break;
--
Gitblit v1.8.0