From ac2ee45fadc64fe840bbba6264df3ca4622adb15 Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期日, 12 一月 2020 16:06:13 +0800 Subject: [PATCH] 2020-01-12 1.优化修改。 --- Crabtree/SmartHome/HDL/Operation/Control.cs | 68 ++++++++++++++++++++++++++------- 1 files changed, 53 insertions(+), 15 deletions(-) diff --git a/Crabtree/SmartHome/HDL/Operation/Control.cs b/Crabtree/SmartHome/HDL/Operation/Control.cs index c30e693..ded44d4 100644 --- a/Crabtree/SmartHome/HDL/Operation/Control.cs +++ b/Crabtree/SmartHome/HDL/Operation/Control.cs @@ -153,6 +153,18 @@ case Command.UpdataLightDimmingTheLargestLevelACK: case Command.UpdataLightDimmingMaximumOrMinimumACK: case Command.WriteManageWirelessNetACK: + //**********鏂板mqtt涓婁綅鏈哄崗璁�********** + case Command.ReadGateWayURLACK: + case Command.SetGateWayURLACK: + case Command.ReadGateWayClientIDUsernamePasswordACK: + case Command.SetGateWayClientIDUsernamePasswordACK: + case Command.ReadGateWayAESEncryptionACK: + case Command.SetGateWayAESEncryptionACK: + case Command.ReadGateWayTopicACK: + case Command.SetGateWayTopicACK: + case Command.ReadGateWayAdminInfoACK: + case Command.SetGateWayAdminInfoACK: + //************************************ case Command.ReadGateWayModelInfoACK: case Command.ReadGatewayServerIPACK: case Command.SetGateWayModelInfoACK: @@ -371,30 +383,42 @@ void managerSendCount (object o) { add (); - try { - System.Console.WriteLine ("鍙戦�佹暟鎹�:" + SendFlag); - BusSocket.AsyncBeginSend (Packet); + 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) { - //System.Console.WriteLine ("閲嶅彂鏁版嵁:" + SendFlag); - BusSocket.AsyncBeginSend (Packet); + 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--; - } catch (Exception ex) { - Console.WriteLine ("managerSendCount:" + ex.ToString ()); - } finally { - allDone.Set (); - if (Packet.HaveSendCount == 3 && IsCanShowTip) { - //MainPage.AddTip (Language.StringByID (SimpleControl.R.MyInternationalizationString.OperationFailed)); + //杩欓噷鏄噸鍙戜袱娆� + 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> /// 褰撳墠鏁版嵁鍖� /// </summary> @@ -458,6 +482,18 @@ case Command.WriteManageWirelessNet: case Command.UpdataLightDimmingTheLargestLevel: case Command.UpdataLightDimmingMaximumOrMinimum: + //**********鏂板mqtt涓婁綅鏈哄崗璁�********** + case Command.ReadGateWayURL: + case Command.SetGateWayURL: + case Command.ReadGateWayClientIDUsernamePassword: + case Command.SetGateWayClientIDUsernamePassword: + case Command.ReadGateWayAESEncryption: + case Command.SetGateWayAESEncryption: + case Command.ReadGateWayTopic: + case Command.SetGateWayTopic: + case Command.ReadGateWayAdminInfo: + case Command.SetGateWayAdminInfo: + //************************************ case Command.ReadGateWayModelInfo: case Command.ReadGatewayServerIP: case Command.SetGateWayModelInfo: @@ -586,8 +622,9 @@ /// </summary> /// <param name="target">鍙戦�佸璞�</param> /// <param name="sendCount">閲嶅彂娆℃暟</param> - public void Send (Target target, SendCount sendCount, bool isWait) + public void Send (Target target, SendCount sendCount, bool isWait, bool needLocal = false) { + isLocal = needLocal; Packet = new Packet (target.SendBytes, target.IPEndPoint); Packet.HaveSendCount = 3 - (int)sendCount; @@ -597,5 +634,6 @@ this.wait (); } } + bool isLocal = false; } } \ No newline at end of file -- Gitblit v1.8.0