我正在发布多封邮件。问题是,当订户脱机并尝试重新连接时,它仅接收到发布者发送的最新(离线)邮件,而所有其他邮件都丢失了。
我正在使用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();
有没有一种解决方案,可以使订阅者处于脱机状态或者我做错了什么,我可以获取有关该主题的所有消息?