有没有办法检查客户端是否仍然连接到 MQTT 代理?
就像是
if client.isConnected(): # for example
# if True then do stuff
编辑:有一个例子,我的 Raspberry Pi 停止接收来自客户端的信息,尽管它仍在运行(从外观上看,代码仍在显示更新的结果)。
这是代码,因为我可能做错了什么:
client = mqtt.Client()
client.connect(address, 1883, 60)
while True:
data = getdata()
client.publish("$ahmed/",data,0)
time.sleep(0.2)
问题是我不在,所以我什至不确定它为什么停下来!只有当我重新启动我的经纪人时,它才会再次开始接收。
原文由 Ahmed Al-haddad 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以在 on_connect 中激活一个标志并在 on_disconnect 中停用它。通过这种方式,您可以知道客户端是否已连接。