[英]MQTT How to know the Broker Status
在Python中使用MQTT的Web應用程序中(使用paho-mqtt lib),我想知道是否存在一種實時獲取代理狀態的方法,因為我發現的唯一方法是將變量“ rc”存儲到on_connect方法,但更像是客戶端/連接狀態。
編輯1:閱讀mosquitto經紀人文檔后,我發現您可以訂閱'$SYS/broker/connection/#'
,如果連接打開,則應該給您1,如果斷開則返回0。 但是當我這樣做時:
subscribe.callback(self.message_callback, '$SYS/broker/connection/#', port = port, hostname=broker, auth=authentication, protocol=client.MQTTv31, tls=TLS)
盡管我正在執行與從傳感器獲取消息完全相同的命令,但是主題為'#'
且工作正常,但無法獲取有效載荷和此消息的主題。
有人知道為什么嗎?
沒有辦法從客戶端輪詢到代理的連接狀態。
當斷開與代理的連接時,應調用on_disconnect
回調。
當保持活動超時時,這應該開始,這也是由於發布失敗的結果(如果您嘗試在超時到期之前發布數據)。
調用發布命令的rc
也將指示連接是否斷開。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.