python paho客户经纪人连接

时间:2016-08-25 10:44:59

标签: python mqtt iot mosquitto paho

我的发布商和经纪商正在开发不同的系统。我使用QOS = 2来传递消息。我正在使用python paho mqtt broker。它进一步扩展到 MQTT - Is there a way to check if the client is still connected

1)当我向连接的代理发布消息时,它通过调用on_publish()回调来确认我。但是当我将在不同机器上运行的代理与网络断开连接时,发布者将发布消息存储在本地计算机上,当我将代理连接到网络时,它再次将所有先前的消息发布到代理。我认为这些消息存储为机上消息(未确认),如果这些消息是飞行消息,那么存储这些消息的地方,这些机上消息是否有任何限制,因为我的代码中没有包含有关机上信息的任何内容。

2)在第一种情况下,我将我的代理与网络断开连接,现在我关闭了我的代理并再次连接到网络,我的程序调用on_disconnect()回调表示意外断开连接,然后将所有未发布的消息发布到代理。     a)我很困惑为什么on_disconnect()回调调用只有当我通过代理关闭而不是我从我的本地网络断开我的代理时。    b)只有当我的代理再次连接到网络时才会调用on_disconnect()方法。       有没有办法,如果我的经纪人突然断开,然后立即通知出版商?

3)我在实时gps跟踪中使用mqtt,我想在发布者未连接到代理时将消息存储到本地数据库,但我无法找到发布者在断开连接时立即知道的方式代理。

4)使用QOS = 2是确保消息传递到代理或使用本地数据库进行存储时与断开连接,然后自动与本地数据库同步以发布所有消息的最佳方法

0 个答案:

没有答案