【问题标题】:Python Paho MQTT client not instantiatedPython Paho MQTT 客户端未实例化
【发布时间】:2015-04-26 14:50:44
【问题描述】:

我想按照提到的示例here 连接到 Python 中的代理。代码只是停留在实例化部分。没有反应,什么都没有!有什么问题?

pi@raspberrypi ~ $ python
Python 2.7.3 (default, Mar 18 2014, 05:13:23)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import paho.mqtt.client as mqtt
>>> c = mqtt.Client("random")

mqtt.Client 永远不会完成。由于尚未调用 connect 方法,因此我不确定这是否可能是网络问题。不过,Ctrl-C 显示以下内容:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py",     line 422, in __init__
self._sockpairR, self._sockpairW = _socketpair_compat()
  File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", line 271, in _socketpair_compat
    sock2, address = listensock.accept()
  File "/usr/lib/python2.7/socket.py", line 202, in accept
    sock, addr = self._sock.accept()
KeyboardInterrupt
>>>

python3 也会发生这种情况。

更新:此问题发生在 Raspberry Pi 上。在 Ubuntu 上,相同的代码可以正常工作。

【问题讨论】:

  • 您的 PI 是否启用了 IPv4 网络以及有效的 localhost 主机名?
  • 我得到了一个有效的 IP 地址。 Python Mosquitto 客户端也运行良好。
  • PI 上的ping localhost 工作正常吗? Mosquitto Python 已经过时了。
  • 没有。 Ping 不起作用。

标签: python mqtt paho


【解决方案1】:

网络 (sock) 似乎配置不正确。您是否测试过您的 Raspberry Pi 网络?

测试您是否收到来自:ping 8.8.8.8的答案

测试 dns:ping www.google.com

检查您是否有一个有效的网关:ip route show

检查您的/etc/resolv.conf 是否有有效条目,例如:

nameserver 8.8.8.8
nameserver 8.8.4.4

也尝试不带参数或全部调用客户端方法:

c = mqtt.Client()

c = mqtt.Client(client_id="123456789", clean_session=True, userdata=None, protocol=MQTTv311)

【讨论】:

  • 以上所有检查都正确。还是同样的问题。
【解决方案2】:

我刚刚遇到了完全相同的问题 - 手动运行 client.py (/usr/local/lib/python2.7/dist-packages/paho/mqtt/) 它会出现在:

271     sock2, address = listensock.accept()

ping localhost 会失败(或者会在 Internet 上 ping 一些主机,localhost.home.net ;)原来我在 /etc/hosts 中注释掉了 127.0.0.1 localhost

 #127.0.0.1   localhost

一旦我删除了哈希,它就可以正常工作了。

【讨论】:

    猜你喜欢
    • 2020-01-18
    • 2018-08-31
    • 2018-03-17
    • 2016-10-27
    • 2018-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多