【发布时间】:2016-09-05 05:37:31
【问题描述】:
我的发布者和经纪人在不同的系统上工作。我正在使用 QOS=2 来传递消息。我正在使用 python paho mqtt 代理。它是 MQTT 的进一步扩展 - 有没有办法检查客户端是否仍然连接
1) 当我向连接的代理发布消息时,它通过调用 on_publish() 回调来确认我。但是当我断开在不同机器上运行的代理与网络的连接时,发布者将发布消息存储在本地机器上,当我将代理连接到网络时,它再次将所有先前的消息发布到代理。我认为这些消息存储为飞行消息(未确认),如果这些消息是飞行消息,那么这些消息存储在哪里,这些飞行消息是否有任何限制,因为我的代码中没有包含任何关于飞行消息的内容。
【问题讨论】:
-
作为 mqtt 规范的补充,您可能需要查看源代码,github.com/eclipse/paho.mqtt.c/blob/master/src/…,第 142 行,它在发布时将消息存储到本地列表。