【发布时间】:2019-08-10 22:33:54
【问题描述】:
我目前正在尝试使用 paho.mqtt 库设置一个简单的 MQTT 订阅者...
类似的东西
import paho.mqtt.client as mqtt
hostname = "mqtt://localhost:1883"
client = mqtt.Client(hostname, True, None, mqtt.MQTTv31)
client.connect(hostname)
client.subscribe("hermes/#")
def on_message(client, userdata, message):
print("message received " ,str(message.payload.decode("utf-8")))
print("message topic=",message.topic)
print("message qos=",message.qos)
print("message retain flag=",message.retain)
client.on_message=on_message
client.loop_forever()
给我这个错误:
Traceback (most recent call last):
File "bedroom.py", line 5, in <module>
client.connect(hostname)
File "/usr/local/lib/python3.7/site-packages/paho/mqtt/client.py", line 839, in connect
return self.reconnect()
File "/usr/local/lib/python3.7/site-packages/paho/mqtt/client.py", line 962, in reconnect
sock = socket.create_connection((self._host, self._port), source_address=(self._bind_address, 0))
File "/usr/local/Cellar/python/3.7.4/Frameworks/Python.framework/Versions/3.7/lib/python3.7/socket.py", line 707, in create_connection
for res in getaddrinfo(host, port, 0, SOCK_STREAM):
File "/usr/local/Cellar/python/3.7.4/Frameworks/Python.framework/Versions/3.7/lib/python3.7/socket.py", line 748, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno 8] nodename nor servname provided, or not known
我不明白,为什么没有连接? 我在java中有类似的脚本,它没有任何问题?
【问题讨论】:
-
我怀疑你的
hostname有问题,或者你的机器上有一些奇怪的网络配置,导致它无法解析地址。
标签: python python-3.x mqtt paho