【发布时间】:2014-12-24 05:12:04
【问题描述】:
我正在尝试使用 raspbian 中的 python 2.7 连接到消息代理,如下所示:
import paho.mqtt.client as paho
host="messagesight.demos.ibm.com"
port=1883
def on_connect(pahoClient, obj, rc):
# Once connected, publish message
print "Connected Code = %d"%(rc)
client.publish("prueba/123", "Hello World", 0)
def on_log(pahoClient, obj, level, string):
print string
def on_publish(pahoClient, packet, mid):
# Once published, disconnect
print "Published"
pahoClient.disconnect()
def on_disconnect(pahoClient, obj, rc):
print "Disconnected"
# Create a client instance
client=paho.Client()
# Register callbacks
client.on_connect = on_connect
client.on_log = on_log
client.on_publish = on_publish
client.on_disconnnect = on_disconnect
#Set userid and password
client.username_pw_set(userID, password)
#connect
x = client.connect(host, port, 60)
client.loop_forever()
当我运行脚本时,我收到以下错误:
Traceback(最近一次调用最后一次):文件“ejemlo.py”,第 27 行,在 client=paho.Client() 文件“/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py”,行 410,在 初始化 self._sockpairR,self._sockpairW = _socketpair_compat() 文件“/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py”,行 255,在 _socketpair_compat listensock.bind(("localhost", 0)) 文件“/usr/lib/python2.7/socket.py”,第 224 行,在 meth return getattr(self._sock,name)(*args) socket.error: [Errno 99] 无法分配请求的地址
我该如何解决?
【问题讨论】:
-
写这个感觉有点奇怪,但是你的 Pi 上支持 IPv4 吗?
-
或者您的“lo”接口可能已关闭。试试
ifconfig lo down; ifconfig lo up
标签: python-2.7 mqtt paho