MQTT Paho Python可靠的重新连接

用户名

我正在尝试使我的MQTT Paho Python脚本保持连接状态(并在断开连接时重新连接)。可悲的是,我不确定该怎么做。

就是说,机器通过WiFi连接,所以在信号丢失或USB加密狗掉了的情况下,我不想让代码迷惑我,因此,我尝试涵盖所有异常/错误。

这是我要使用的大部分代码:

mqttc = mqtt.Client(machine_id, clean_session=False)
mqttc.username_pw_set(machine_id, mqtt_pwd)
mqttc.connect(mqtt_host, mqtt_port)
mqttc.subscribe(machine_id, qos=1)

def on_disconnect(client, userdata, rc):
        if rc != 0:
                print "Unexpected MQTT disconnection. Attempting to reconnect."
                try:
                        mqttc.reconnect()
                except socket.error:
                            ??????
mqttc.on_connect = on_connect
mqttc.on_message = on_message
mqttc.on_disconnect = on_disconnect
mqttc.loop_forever()

我无法获得进一步的进展,因为我不知道如何才能使其再次连接?除非它能够第一次重新连接,否则我似乎无法获得正确的重新连接循环。

任何建议都会非常有帮助!

谢谢!

基兰

读取source(1)(即loop_forver()方法)会loop()在无限阻塞循环中调用method。这是loop()确保通过代理维护发布/订阅消息和mqtt keepalive流量的方法。loop_forver()如果连接断开,也会执行自动重新连接。

还要注意,该loop_forever()阻塞直到客户端显式调用disconnect()因此,如果您只想在程序中运行MQTT客户端,它将很有用。我更喜欢loop_start()/loop_stop()方法。

mqttc = mqtt.Client(machine_id, clean_session=False)
mqttc.username_pw_set(mqtt_user, mqtt_pwd)
mqttc.connect(mqtt_host, mqtt_port)
mqttc.subscribe(mqtt_topic, qos=1)

def on_disconnect(client, userdata, rc):
    if rc != 0:
        print "Unexpected MQTT disconnection. Will auto-reconnect"

mqttc.on_connect = on_connect
mqttc.on_message = on_message
mqttc.on_disconnect = on_disconnect
mqttc.loop_forever()

不知道为什么要machine_idusername_pw_set()和中使用subscribe()改变了他们。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Paho MQTT客户端连接可靠性(断开连接时重新连接)

来自分类Dev

Paho(MQTT)客户端无法连接

来自分类Dev

Paho中的MQTT无法建立连接

来自分类Dev

Paho(MQTT)客户端无法连接

来自分类Dev

Python Paho MQTT如何在Postgresql关闭连接或其他东西后自动重新连接

来自分类Dev

发布后python mqtt-paho断开连接

来自分类Dev

Paho MQTT与MQTT Paho Spring集成

来自分类Dev

Paho MQTT引发异常

来自分类Dev

Paho MQTT Golang协议

来自分类Dev

Paho Mqtt Android连接到代理失败并显示(32103)

来自分类Dev

Paho Mqtt Android连接到代理失败并显示(32103)

来自分类Dev

Paho MQTT JS 客户端已连接错误?

来自分类Dev

如何对挂起的Paho Python Mqtt Single Publish进行故障排除

来自分类Dev

是否有与Paho MQTT的Python请求会话相似的东西?

来自分类Dev

在python中使用paho mqtt处理收到的消息

来自分类Dev

python中不同类模块中的paho mqtt回调

来自分类Dev

python Paho客户端MQTT:写入多个文件

来自分类Dev

Paho MQTT Android服务问题

来自分类Dev

Paho mqtt中的SOP违规

来自分类Dev

Paho Python MQTT客户端成功连接,但未调用on_connect回调

来自分类Dev

paho-mqtt客户端可以同时连接到多个代理吗?

来自分类Dev

互联网上的Paho mqtt断开连接未运行回调

来自分类Dev

Paho MQTT (C++) 客户端无法连接到 Mosquitto

来自分类Dev

Eclipse Paho MQTT 客户端:如何检查现有连接?

来自分类Dev

使用Mosquitto / Paho for Python无法接收超过20条MQTT消息

来自分类Dev

以root身份运行paho mqtt时发生导入错误(sudo python3 filename.py)

来自分类Dev

在不订阅python Paho MQTT库的情况下接收消息

来自分类Dev

paho-MQTT python:如何让loop_forever支持订阅消息?

来自分类Dev

Python paho mqtt 客户端不会同时发布和订阅

Related 相关文章

  1. 1

    Paho MQTT客户端连接可靠性(断开连接时重新连接)

  2. 2

    Paho(MQTT)客户端无法连接

  3. 3

    Paho中的MQTT无法建立连接

  4. 4

    Paho(MQTT)客户端无法连接

  5. 5

    Python Paho MQTT如何在Postgresql关闭连接或其他东西后自动重新连接

  6. 6

    发布后python mqtt-paho断开连接

  7. 7

    Paho MQTT与MQTT Paho Spring集成

  8. 8

    Paho MQTT引发异常

  9. 9

    Paho MQTT Golang协议

  10. 10

    Paho Mqtt Android连接到代理失败并显示(32103)

  11. 11

    Paho Mqtt Android连接到代理失败并显示(32103)

  12. 12

    Paho MQTT JS 客户端已连接错误?

  13. 13

    如何对挂起的Paho Python Mqtt Single Publish进行故障排除

  14. 14

    是否有与Paho MQTT的Python请求会话相似的东西?

  15. 15

    在python中使用paho mqtt处理收到的消息

  16. 16

    python中不同类模块中的paho mqtt回调

  17. 17

    python Paho客户端MQTT:写入多个文件

  18. 18

    Paho MQTT Android服务问题

  19. 19

    Paho mqtt中的SOP违规

  20. 20

    Paho Python MQTT客户端成功连接,但未调用on_connect回调

  21. 21

    paho-mqtt客户端可以同时连接到多个代理吗?

  22. 22

    互联网上的Paho mqtt断开连接未运行回调

  23. 23

    Paho MQTT (C++) 客户端无法连接到 Mosquitto

  24. 24

    Eclipse Paho MQTT 客户端:如何检查现有连接?

  25. 25

    使用Mosquitto / Paho for Python无法接收超过20条MQTT消息

  26. 26

    以root身份运行paho mqtt时发生导入错误(sudo python3 filename.py)

  27. 27

    在不订阅python Paho MQTT库的情况下接收消息

  28. 28

    paho-MQTT python:如何让loop_forever支持订阅消息?

  29. 29

    Python paho mqtt 客户端不会同时发布和订阅

热门标签

归档