首页 > 解决方案 > Python mqtt 停止发布

问题描述

这个简单的代码在 20/30 条消息后停止发布到代理。print(frame) 语句继续有效,但没有发布关于该主题的框架:

client = mqtt.Client("myMonitor")
client.connect(broker)

try:
    while 1:
        # Read data from BUS
        frame = RecData(smon)
        if frame.count("##") >= 1:
           print(frame)
           client.publish("salty/monitor",frame)
except KeyboardInterrupt:
        print("KeyB Interrupt")
        ExitApp()

我哪里错了?

标签: python-3.xmqttpaho

解决方案


您还没有启动客户端循环,因此任何大于单个 TCP 数据包的消息都会锁定客户端。

您需要client.loop_start()在循环之前添加


推荐阅读