Paho(MQTT) 客户端无法连接

Paho(MQTT) client can't connect

我正在使用此 python 脚本来实现基本的 Paho(MQTT) 订阅者,但在某些情况下它不会调用 on_connect

我尝试了以下方法,所有方法都使用完全相同的代码:

我也经常这样做:

也尝试了官网列出的所有设置方法。所以 python 的 paho 图书馆似乎与我当地的经纪人相处得不好,除非我 运行 它来自我的树莓派。但是,如果从终端使用 MQTT,则使用相同的代理可以很好地与 c++ 的 paho 库一起使用。对可能发生的事情有什么想法吗?

     import paho.mqtt.client as mqtt

     def on_connect(mqtt_client, obj, flags, rc):
         mqtt_client.subscribe("test")
         print "on_connect"

     def on_message(mqtt_client, obj, msg):
         print "on_message"

     mqtt_client = mqtt.Client()
     mqtt_client.on_connect = on_connect
     mqtt_client.on_message = on_message
     mqtt_client.connect("127.0.0.1",1883)
     mqtt_client.loop_forever()

我遇到了同样的问题,在 Client's constructor 中更改 MQTT 协议的版本解决了它。

mqtt_client = mqtt.Client("", True, None, mqtt.MQTTv31)

由于您没有指定协议,它使用默认协议:MQTTv311。