我使用 mosquitto 作为代理,使用 paho(python) 作为客户端。我正在尝试让订阅者接收离线消息。
为此我做了以下更改:
但是,订阅者仍然无法接收消息。
有什么帮助吗?
谢谢,
拉胡尔
为了让您的客户端成为持久客户端并在离线时接收发送到主题的消息,您需要满足以下条件:
- 固定客户端 ID(正如您所做的那样)
- 始终使用 clean_session=False 连接
- 订阅必须以 QoS>0 进行
- 发布的消息必须具有 QoS>0
我最常犯的错误是忘记了第 3 点和第 4 点之一,因此我使用 QoS=0 进行发布或使用 QoS=0 进行订阅,这两种情况都会导致消息不被存储。
您还可以查看queue_qos0_messages
选项告诉代理也存储 QoS=0 消息。请注意,这是可能特定于 mosquitto 的实现细节。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)