0

我正在创建一个 iOS 应用程序,其中我使用了蚊子库来集成 Active MQ。

一切正常,除了当我重新连接新的客户端 ID 时,我再次收到所有消息。

cleanSession 标志设置为 false;

任何帮助,将不胜感激。

4

1 回答 1

2

我想您每次连接时都在谈论一个新的客户端ID?

检查发布消息的保留标志。如果将其设置为 true,则代理将保留消息,并且由于您使用新的客户端 ID 进行连接,因此如果您订阅了某些主题,它们将被发送给您的客户端。

还要引用 mosquitto.org 关于 cleanSession 的内容。

如果 clean session 设置为 false,则连接被视为持久连接。这意味着当客户端断开连接时,它所拥有的任何订阅都将保留,并且任何后续的 QoS 1 或 2 消息都将被存储,直到将来再次连接。

我应该说这个问题似乎有点不明智,最好有一个更好的解释来获得更好的答案。

于 2016-01-27T04:23:51.517 回答