如图所示:
保留消息设置为100 ,是否意味着 无论topic是否被监听, 该topic都将保留最后的100条信息?
是的,虽然我不知道topic监听是什么意思,但是和topic没什么关系。
好奇 如何监听topic 我不太能明白,能展开说说么,
我了解的这些基础功能不需要什么额外的操作(监听topic)就能用的。
ok, 我描述有偏差, 应该是topic订阅. 也就是:
a向topic发送消息, b订阅了这个topic 但b处于弱网环境下, 连接是时有时无的.
此时, 当我设置保留消息100 , 那么如果当b断连(此时topic订阅应该自然就没有了吧) 那么在b连接上之前, a发送了200条消息, b在上线时继续订阅该topic, 那么是否可以收到最后的100条消息?
如果不是我理解的这样, 这个保留并且可以设置数量的功能是怎么用…
最大保留消息数设置为100时,当主题没有客户端订阅,我发送到对应主题的保留消息会保留100条嘛,还是仅保留一条 ?
你这个场景不用关注 保留消息,也不用开启durable session 直接把Mqtt连接的clean_session设置为false就行了。
你直接用Mqttx测一下这个场景就ok,都不需要写代码就能验证
ps 保留消息不是你这样用的
clean_session设置为false 后,当一个 topic 没有被客户端订阅的时候,消息会被直接丢弃,开源版可以对消息做持久化的处理嘛
这是正常的行为。
在企业版这种情况也会丢弃的。都是正常行为。
如果你想处理(持久化)这些没订阅的消息,可以用webhook选择丢弃事件,去自己的 HTTP server上任意自由发挥。