From f9f9b0030fdd2691632569b7dcad9d0ddca5e4cf Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期三, 23 十二月 2020 09:28:54 +0800 Subject: [PATCH] 2020-12-23 1.调整mqtt挤下线,跑ui线程。2.LoadEvent_CheckLinkStatus方法调整 --- HDL_ON/DAL/Mqtt/MqttClient.cs | 34 ++++++++++++++++++++++++++++------ 1 files changed, 28 insertions(+), 6 deletions(-) diff --git a/HDL_ON/DAL/Mqtt/MqttClient.cs b/HDL_ON/DAL/Mqtt/MqttClient.cs index 7a0d4ff..1ecf619 100644 --- a/HDL_ON/DAL/Mqtt/MqttClient.cs +++ b/HDL_ON/DAL/Mqtt/MqttClient.cs @@ -119,7 +119,7 @@ /// <summary> /// 澶栫綉鐨凪QTT鏄惁姝e湪杩炴帴 /// </summary> - public static bool remoteMqttIsConnecting; + public static bool RemoteMqttIsConnecting; static bool remoteIsConnected; static MqttClient() @@ -138,6 +138,8 @@ { System.Threading.Thread.Sleep(500); if (!Control.Ins.IsRemote) continue; + //杩涘叆鍚庡彴涓嶅鐞� + if (MainPage.IsEnterBackground) continue; await StartCloudMqtt(); await SubscribeTopics(); @@ -221,7 +223,7 @@ } //杩藉姞锛氭病鏈夎繙绋嬭繛鎺ョ殑鏉冮檺 - if (remoteMqttIsConnecting || remoteIsConnected) + if (RemoteMqttIsConnecting || remoteIsConnected) { return; } @@ -232,7 +234,7 @@ try { #region 鍒濆鍖栬繙绋婱qtt - remoteMqttIsConnecting = true; + RemoteMqttIsConnecting = true; RemoteMqttClient = new MqttFactory().CreateMqttClient(); @@ -267,6 +269,7 @@ } else { + MainPage.Log($"mqtt data"); SetGatewayOnlineResetCheck(); var bytes = Securitys.EncryptionService.AesDecryptPayload(e.ApplicationMessage.Payload, DB_ResidenceData.Instance.HomeGateway.aesKey); @@ -310,9 +313,23 @@ if (RemoteMqttClient.ConnectedHandler == null) { RemoteMqttClient.UseConnectedHandler(async (e) => { - if (DB_ResidenceData.Instance.HomeGateway.GatewayOnline) + 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(); } IfNeedReadAllDeviceStatus = true; Utlis.WriteLine($"============>Mqtt杩滅▼杩炴帴鎴愬姛"); @@ -343,7 +360,7 @@ finally { //鏈�缁堣閲婃斁杩炴帴鐘舵�� - remoteMqttIsConnecting = false; + RemoteMqttIsConnecting = false; Utlis.WriteLine($"StartCloudMqtt: 缁撴潫"); } @@ -540,7 +557,12 @@ DisConnectRemoteMqttClient("鎸や笅绾�"); - HDLCommon.Current.CheckLogout(); + Application.RunOnMainThread(() => + { + //寮圭獥鎻愮ず琚尋涓嬬嚎 + HDLCommon.Current.CheckLogout(); + }); + //UserInfo.Current.LastTime = DateTime.MinValue; //UserInfo.Current.SaveUserInfo(); -- Gitblit v1.8.0