使用 Paho MQTT 订阅不接收消息

Not receiving messages with subscribe using Paho MQTT

我在使用 paho mqtt 库订阅 MQTT 代理(使用 test.mosquitto.org 和端口 1883)时遇到问题。当我使用 mosquitto_sub 客户端时,我可以正常接收消息,但是当我在我的 Python 脚本中订阅相同主题时,回调永远不会执行。

import paho.mqtt.client as mqtt

client_get = mqtt.Client(client_id='my_client', protocol=mqtt.MQTTv31)
client_get.connect('test.mosquitto.org', 1883)
client_get.loop_start()

def callback(client, userdata, message):
    print(str(message.payload.decode("utf-8")))

client_get.on_message = callback
client_get.subscribe(topic, qos=1)

尝试以下操作:

import paho.mqtt.client as mqtt

client_get = mqtt.Client(client_id='my_client', protocol=mqtt.MQTTv31)
client_get.connect('test.mosquitto.org', 1883)

def callback(client, userdata, message):
    print(str(message.payload.decode("utf-8")))

client_get.on_message = callback
client_get.subscribe(topic, qos=1)
client_get.loop_forever()

我已将 start_loop() 移至末尾并将其更改为 loop_forever(),这将阻止并保留脚本 运行。