我的出版商和经纪人在不同的系统上工作。我使用QOS=2传递消息,使用PythonPAHOMQTT代理。它进一步扩展到 MQTT - Is there a way to check if the client is still connected
1)当我向已连接的代理发布消息时,它通过调用_publish()回调来确认我。但当我将运行在不同机器上的代理与网络断开连接时,发布者将发布消息存储在本地计算机上,当我将代理连接到网络时,它会将以前所有的消息发布到代理。我认为这些信息存储为机上消息(未确认),如果这些消息是机上消息,那么这些消息存储在哪里,这些消息是否有任何限制,因为我的代码中没有包含任何有关机上消息的内容。在
2)在第一种情况下,我将我的代理从网络断开,现在我关闭我的代理并再次连接到网络,我的程序调用_disconnect()回调表示意外断开,然后将所有未发布的消息发布到代理。 a) 我很困惑,为什么只有当我关闭broker时才调用on_disconnect()回调,而不是在断开代理与本地网络的连接时才调用on_disconnect()回调。 b) 方法只在代理再次连接到网络时调用。 有没有办法,如果我的经纪人突然断开,然后立即通知出版商?在
3)我在实时gps跟踪中使用mqtt,我想在发布服务器未连接到broker时将消息存储到本地数据库,但我无法找到任何方法来立即知道当发布服务器与broker断开连接时。在
4)使用QOS=2是确保消息传递到代理的最佳方式,还是在断开与代理的连接时使用本地数据库进行存储,然后自动与本地数据库同步以发布所有消息
目前没有回答
相关问题 更多 >
编程相关推荐