【问题标题】:Catch-up missed messages追赶错过的消息
【发布时间】:2017-09-14 02:51:42
【问题描述】:

据我了解,当消息发布到某个主题时,只有当前订阅该主题的客户端才会收到该消息。如果客户端在消息发布后出现,它将不会收到该消息。

假设客户端暂时断开连接,有没有办法帮助客户端在再次连接时赶上错过的消息?

谢谢

【问题讨论】:

    标签: mqtt


    【解决方案1】:

    如果客户端订阅了某个主题,那么与代理的连接被断开,客户端将需要重新连接。

    只要客户端在连接上设置 cleanSession=false 标志并重新订阅相同的主题,代理就应该重播任何错过的消息。

    有关持久订阅的更详细说明,请参见此处:

    http://www.hivemq.com/mqtt-essentials-part-7-persistent-session-queuing-messages/

    这里:

    http://www.thingsprime.com/?p=2897

    【讨论】:

    • Thingsprime Link 有点过时了,因为现在提到的所有三个代理都正确支持排队消息。不过,这仍然是一个有用的资源
    • 跟进答案、建议的解决方案和反馈请求:stackoverflow.com/questions/46229861/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-26
    • 1970-01-01
    • 2023-02-19
    相关资源
    最近更新 更多