From 2ee5b8c7bd37a3d6d55d3f7d27128fd37fdf7891 Mon Sep 17 00:00:00 2001 From: iioter <535915157@qq.com> Date: Sat, 12 Nov 2022 16:44:26 +0800 Subject: [PATCH] =?UTF-8?q?fix:tb=E4=B8=8D=E6=94=AF=E6=8C=81qos2=E5=8F=AF?= =?UTF-8?q?=E8=83=BD=E5=AF=BC=E8=87=B4=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Plugins/Plugin/MyMqttClient.cs | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/Plugins/Plugin/MyMqttClient.cs b/Plugins/Plugin/MyMqttClient.cs index 9d5c167..8d59ebd 100644 --- a/Plugins/Plugin/MyMqttClient.cs +++ b/Plugins/Plugin/MyMqttClient.cs @@ -3,6 +3,7 @@ using IoTGateway.Model; using Microsoft.Extensions.Logging; using MQTTnet; using MQTTnet.Client; +using MQTTnet.Formatter; using MQTTnet.Protocol; using Newtonsoft.Json; using PluginInterface; @@ -50,13 +51,13 @@ namespace Plugin #region ClientOptions // Setup and start a managed MQTT client. _options = new MqttClientOptionsBuilder() - .WithClientId(string.IsNullOrWhiteSpace(_systemConfig.ClientId) - ? Guid.NewGuid().ToString() - : _systemConfig.ClientId) - .WithTcpServer(_systemConfig.MqttIp, _systemConfig.MqttPort) - .WithCredentials(_systemConfig.MqttUName, _systemConfig.MqttUPwd) - .WithTimeout(TimeSpan.FromSeconds(30)) - .WithKeepAlivePeriod(TimeSpan.FromSeconds(20)) + .WithClientId(_systemConfig.ClientId ?? Guid.NewGuid().ToString()) + .WithTcpServer(_systemConfig.MqttIp, _systemConfig.MqttPort) + .WithCredentials(_systemConfig.MqttUName, _systemConfig.MqttUPwd) + .WithTimeout(TimeSpan.FromSeconds(30)) + .WithKeepAlivePeriod(TimeSpan.FromSeconds(60)) + .WithProtocolVersion(MqttProtocolVersion.V311) + .WithCleanSession(true) .Build(); #endregion @@ -611,7 +612,7 @@ namespace Plugin await Client.PublishAsync(new MqttApplicationMessageBuilder().WithTopic("v1/gateway/connect") .WithPayload(JsonConvert.SerializeObject(new Dictionary { { "device", device.DeviceName } })) - .WithQualityOfServiceLevel(MqttQualityOfServiceLevel.ExactlyOnce).Build()); + .WithQualityOfServiceLevel(MqttQualityOfServiceLevel.AtMostOnce).Build()); break; case IoTPlatformType.AliCloudIoT: break; @@ -677,7 +678,7 @@ namespace Plugin await Client.PublishAsync(new MqttApplicationMessageBuilder().WithTopic($"v1/gateway/disconnect") .WithPayload(JsonConvert.SerializeObject(new Dictionary { { "device", device.DeviceName } })) - .WithQualityOfServiceLevel(MqttQualityOfServiceLevel.ExactlyOnce).Build()); + .WithQualityOfServiceLevel(MqttQualityOfServiceLevel.AtMostOnce).Build()); break; case IoTPlatformType.AliCloudIoT: break;