簡體   English   中英

MQTT如何知道經紀人狀態

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM