订户重新连接后,无法从mosquitto mqtt代理接收多条消息

时间:2020-06-12 05:41:12

标签: c# mqtt

我正在发布多封邮件。问题是,当订户脱机并尝试重新连接时,它仅接收到发布者发送的最新(离线)邮件,而所有其他邮件都丢失了。

我正在使用Mosquitto MQTT Broker的Windows docker映像。 图片:globeranger / mosquitto

我正在使用MQTTnet.Extensions.ManagedClient; C#中的这个nuget包。

Configuration for Subscriber MQTT Client:-

 var optionsBuilder = new MqttClientOptionsBuilder()
                .WithClientId("converter")
                .WithTcpServer("path",port number )
                .WithCredentials("", "")
                .WithCleanSession();

            var _options = mqttSecure ? optionsBuilder.WithTls().Build() : optionsBuilder.Build();
            var managedOptions = new ManagedMqttClientOptionsBuilder()
                .WithAutoReconnectDelay(TimeSpan.FromSeconds(5))
                .WithClientOptions(_options)
                .Build();
            _client = new MqttFactory().CreateManagedMqttClient();

Configuration for PublisherMethod:-

 var messageBuilder = new MqttApplicationMessageBuilder()
                .WithTopic(topic)
                .WithPayload(payload)
                .WithContentType("application/json")
                .WithPayloadFormatIndicator(MqttPayloadFormatIndicator.CharacterData)
                .WithQualityOfServiceLevel((MQTTnet.Protocol.MqttQualityOfServiceLevel)qos)
                .WithRetainFlag(retainFlag)
                .Build();

有没有一种解决方案,可以使订阅者处于脱机状态或者我做错了什么,我可以获取有关该主题的所有消息?

0 个答案:

没有答案
相关问题