Python Paho MQTT回调未触发
我正在使用Paho连接到我的MQTT brooker,但是,回调没有按预期工作。我已经阅读了文档,无法理解为什么这些函数会被忽略Python Paho MQTT回调未触发,python,paho,Python,Paho,我正在使用Paho连接到我的MQTT brooker,但是,回调没有按预期工作。我已经阅读了文档,无法理解为什么这些函数会被忽略 import paho.mqtt.client as mqtt import mqttUtils as utils # Subscribe To Topic def subscribeToTopic(client, topic): try: result = client.subscribe(topic, 2) if re
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方法,但是脚本拒绝工作。有人知道为什么没有触发回调吗?程序必须一直运行并从服务器接收消息,当它从服务器得到确认后,它将在订阅上运行
你可以用ie
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()
医生:您是否收到任何错误消息?始终将完整的错误消息(从单词“Traceback”开始)作为文本(而不是屏幕截图)进行讨论(不是评论)。还有其他有用的信息。没有错误消息,只输出日志。输出为“成功订阅主题”,因此,结果变量的输出为(0,1)