无法通过paho.mqtt.client连接Mosquitto服务器,但mosquitto_pub正常工作
我有一台远程服务器在运行mosquitto。通过mosquitto_pub和mosquitto_sub,我可以连接到这台服务器并交换消息。但是,当我尝试用Python的paho.mqtt.client来做同样的事情时,却无法连接。我的脚本一直在运行,但连接的回调函数从来没有被调用。不过,使用相同的脚本在本地的mosquitto服务器上却能正常工作。
那可能是什么原因导致连接问题呢?我该如何获取更多关于发生了什么的反馈?有没有什么建议?
编辑:我添加了一个最简代码示例
import paho.mqtt.client as mqtt
def on_connect(client, userdata, flags, rc):
print("Yeeha")
client.subscribe("botgrid/init", qos=2)
def on_message(client, userdata, msg):
print(msg.payload)
client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message
client.connect("localhost")
print("Waiting for connection...")
client.loop_forever()
编辑2:在尝试的过程中,我注意到把“localhost”换成“test.mosquitto.org”后,出现了OSError: [Errno 101] Network is unreachable
的错误,尽管我通过mosquitto_sub连接到它没有问题。
1 个回答
0
这段代码会产生同样的问题吗?这可能和代码出错的地方是等价的。
import socket
sock = socket.create_connection(("test.mosquitto.org", 1883))