在python中使用MQTT的Web应用程序(使用paho-mqtt lib)我想知道是否有办法实时获取代理状态,因为我找到的唯一方法是存储变量& #34; RC"进入on_connect方法,但它更像是一个客户端/连接状态。
编辑1:在阅读了mosquitto broker文档之后,我发现你可以订阅'$SYS/broker/connection/#'
,如果连接正常,它应该会返回1,如果连接失败则返回0。但是,当我这样做时:
subscribe.callback(self.message_callback, '$SYS/broker/connection/#', port = port, hostname=broker, auth=authentication, protocol=client.MQTTv31, tls=TLS)
无法获得有效负载和主题此消息,尽管我执行完全相同的命令来从我的传感器获取消息,除了主题是'#'
并且它正常工作。
有谁知道为什么?
答案 0 :(得分:0)
无法从客户端轮询与代理的连接状态。
当删除与代理的连接时,应调用on_disconnect
回调。
这应该在保持活动超时时启动,但也是由于发布失败(如果您尝试在超时到期之前发布数据)。
调用publish命令时rc
也会指示连接是否已断开。