我正在使用这个 python 脚本来实现一个基本的 Paho(MQTT) 订阅者,但在某些情况下它不会调用 on_connect 。
我尝试了以下操作,所有代码都完全相同:
我也经常这样做:
也试过官网列出的所有设置方法。所以 python 的 paho 库似乎无法与我的本地代理相处,除非我从我的树莓派上运行它。但是使用相同的代理可以很好地与 c++ 的 paho 库配合使用,并且如果从终端使用 MQTT。关于可能发生什么的任何想法?
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 协议(protocol)的版本解决了它。
mqtt_client = mqtt.Client("", True, None, mqtt.MQTTv31)
由于您没有指定协议(protocol),它使用默认协议(protocol):MQTTv311。
关于python - Paho(MQTT) 客户端无法连接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38017111/