From 237e3ec4ee42724d43767d46f9a5320b8130e783 Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期四, 24 十二月 2020 22:47:53 +0800 Subject: [PATCH] 23 --- HDL_ON/DAL/Mqtt/MqttClient.cs | 50 +++++++++++++++++++++++--------------------------- 1 files changed, 23 insertions(+), 27 deletions(-) diff --git a/HDL_ON/DAL/Mqtt/MqttClient.cs b/HDL_ON/DAL/Mqtt/MqttClient.cs index 1ecf619..6f24899 100644 --- a/HDL_ON/DAL/Mqtt/MqttClient.cs +++ b/HDL_ON/DAL/Mqtt/MqttClient.cs @@ -32,18 +32,18 @@ /// </summary> static string RandomKey = ""; + /// <summary> + /// 闅忔満鐢熸垚瀛楃 + /// </summary> + /// <returns></returns> static string GetRandomKey() { if (string.IsNullOrEmpty(RandomKey)) { //闅忔満2浣嶅瓧绗︿覆 - Random random = new Random(Guid.NewGuid().GetHashCode()); - int num = random.Next(65, 91); - RandomKey = Convert.ToChar(num).ToString(); + RandomKey = Utlis.CreateRandomString(2); } - return RandomKey; - } /// <summary> @@ -186,9 +186,14 @@ Topic = $"/user/{MqttInfoConfig.Current.HomeGatewayInfo.gatewayId}/app/thing/property/send", QualityOfServiceLevel = MQTTnet.Protocol.MqttQualityOfServiceLevel.AtMostOnce }; + //var topicBusStatus = new MqttTopicFilter() + //{ + // Topic = $"/BusGateWayToClient/{}/Common", + // QualityOfServiceLevel = MQTTnet.Protocol.MqttQualityOfServiceLevel.AtMostOnce + //}; Utlis.WriteLine("寮�濮嬭闃咃紒"); - var result = await RemoteMqttClient.SubscribeAsync(new MqttTopicFilter[] { topicFilterBusGateWayToClient, topicFilterPush2 , topicAlinkStatus }); + var result = await RemoteMqttClient.SubscribeAsync(new MqttTopicFilter[] { topicFilterBusGateWayToClient, topicFilterPush2, topicAlinkStatus }); if (result.Items[0].ResultCode == MQTTnet.Client.Subscribing.MqttClientSubscribeResultCode.GrantedQoS0) { isSubscribeSuccess = true; @@ -269,7 +274,6 @@ } else { - MainPage.Log($"mqtt data"); SetGatewayOnlineResetCheck(); var bytes = Securitys.EncryptionService.AesDecryptPayload(e.ApplicationMessage.Payload, DB_ResidenceData.Instance.HomeGateway.aesKey); @@ -286,10 +290,19 @@ { packet.Bytes = e.ApplicationMessage.Payload; } +#if DEBUG + //string ddd = ""; + //foreach (var bb in packet.Bytes) + //{ + // ddd += bb + ","; + //} + //MainPage.Log($"mqtt bus data:{ddd}"); +#endif packet.Manager(); } else { + MainPage.Log($"mqtt A-Link data"); //A鍗忚鏁版嵁澶勭悊 var revString = Encoding.UTF8.GetString(bytes); Control.Ins.UpdataFunctionStatus(revString,null); @@ -312,25 +325,9 @@ //(3)ConnectedHandler if (RemoteMqttClient.ConnectedHandler == null) { - RemoteMqttClient.UseConnectedHandler(async (e) => { - if (DB_ResidenceData.Instance.HomeGateway.gatewayStatus) - { - Control.Ins.GatewayOnline = true; - } - else - { - //new System.Threading.Thread(() => { - // while(true) - // { - // System.Threading.Thread.Sleep(1000); - // if (DB_ResidenceData.Instance.HomeGateway.GatewayOnline) - // { - // Control.Ins.GatewayOnline = true; - // break; - // } - // } - //}) { IsBackground = true }.Start(); - } + RemoteMqttClient.UseConnectedHandler(async (e) => + { + Control.Ins.GatewayOnline = true; IfNeedReadAllDeviceStatus = true; Utlis.WriteLine($"============>Mqtt杩滅▼杩炴帴鎴愬姛"); SendPushSignOut(); @@ -655,7 +652,6 @@ /// 鏄惁闇�瑕佽鍙栦竴娆℃墍鏈夎澶囩姸鎬� /// </summary> static bool IfNeedReadAllDeviceStatus = true; - //public static bool IsGatewayOnline = true; /// <summary> /// 璁剧疆缃戝叧鍦ㄧ嚎鏍囧織锛屽苟閲嶇疆CheckGateway鍙傛暟 -- Gitblit v1.8.0