【发布时间】:2016-06-27 11:23:45
【问题描述】:
我正在使用paho javascript 客户端。我只能看到它提供了仅接收和发送消息的方式。如果我想要获取以前的对话、离线消息之类的东西怎么办?我如何使用 paho 从 javascript 中做到这一点?
【问题讨论】:
我正在使用paho javascript 客户端。我只能看到它提供了仅接收和发送消息的方式。如果我想要获取以前的对话、离线消息之类的东西怎么办?我如何使用 paho 从 javascript 中做到这一点?
【问题讨论】:
假设您使用的代理支持它(大多数都支持),MQTT 支持持久会话。
这意味着,如果客户端订阅 QOS 1 或 2 的主题然后断开连接,当它重新连接(使用相同的客户端 ID)并重新订阅这些主题时,将传递该主题的任何错过的消息。
以下博文有更多详情http://www.hivemq.com/blog/mqtt-essentials-part-7-persistent-session-queuing-messages
另一个选项是关于主题的保留消息,这是一条消息,将在客户端订阅主题时传递,然后在该主题的任何其他消息之前传递。每次客户端重新连接和订阅者到主题时都会传递此消息,直到它被清除(通过发布具有空负载的消息)
没有专门针对某个主题请求旧消息的机制,您需要自己实现任何此类行为。
【讨论】:
activemq
<subscriptionRecoveryPolicy> <fixedCountSubscriptionRecoveryPolicy maximumSize="100"/></subscriptionRecoveryPolicy> 在activemq的情况下工作