簡體   English   中英

Paho MQTT 回調未觸發

[英]Paho MQTT Callbacks Not Triggering

我正在使用 Paho 連接到我的 MQTT 代理程序,但是,回調沒有按預期工作。 我已經按照文檔進行操作,但無法理解為什么這些功能會被忽視。

import paho.mqtt.client as mqtt
import mqttUtils as utils

# Subscribe To Topic


def subscribeToTopic(client, topic):
    try:
        result = client.subscribe(topic, 2)
        if result[0] == 0:
            utils.logging.info("Successfuly Subscribed To Topic")
            return 1
    except:
        utils.logging.info("Failed Subscribe Attempt")
        return 0


def on_subscribe(client, userdata, mid, granted_qos):  # subscribe to mqtt broker
    print("Subscribed", userdata)



host = "x"
client = mqtt.Client()
client.connect(host, port=1883, keepalive=60, bind_address="")
# result = utils.connectToMqtt(client,utils.host)
client.on_subscribe = on_subscribe
subscribeResult = subscribeToTopic(client, "test")

這是我的代碼,我在訂閱之前聲明了 on_subscribe 方法,但腳本拒絕工作。 有誰知道為什么沒有觸發回調?

程序必須一直運行並從服務器接收消息,當它從服務器獲得確認時,它將運行on_subscribe

你可以使用即。

client.loop_forever() 

一直運行

import paho.mqtt.client as mqtt

def on_subscribe(client, userdata, mid, granted_qos):
    print("Subscribed", client, userdata, mid, granted_qos)

def on_message(client, userdata, message):
    #print('on_message:', client, userdata, message)
    #print(dir(message))
    print('on_message:', message.payload.decode())

host = "mqtt.eclipse.org"

client = mqtt.Client()
client.connect(host, port=1883, keepalive=60, bind_address="")
client.on_message = on_message
client.on_subscribe = on_subscribe
client.subscribe('temp', 1)

client.loop_forever()

文檔: paho-mqtt

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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