每隔10秒发布一条消息mq

2024-05-21 18:07:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我是mqtt的新手,仍然发现了这个有趣的协议。 我想用python创建一个客户端,每隔10秒发布一条消息。到目前为止,我只成功地发布了一条消息,并使客户机与代理保持连接。

如何使发布部分成为循环?

以下是我的客户:

import mosquitto
mqttc=mosquitto.Mosquitto("ioana")
mqttc.connect("127.0.0.1",1884,60,True)
mqttc.publish("test","Hello")
mqttc.subscribe("test/", 2)

while mqttc.loop() == 0:
pass

谢谢。


Tags: testimport消息协议客户端代理客户机客户
2条回答

您可以在通话之间睡眠:

import mosquitto
import time # import time module
mqttc=mosquitto.Mosquitto("ioana")
mqttc.connect("127.0.0.1",8000,60,True)
mqttc.subscribe("test/", 2)
while mqttc.loop() == 0:
    mqttc.publish("test","Hello")
    time.sleep(10)# sleep for 10 seconds before next call

我建议:

import paho.mqtt.client as mqtt # mosquitto.py is deprecated
import time

mqttc = mqtt.Client("ioana")
mqttc.connect("127.0.0.1", 1883, 60)
#mqttc.subscribe("test/", 2) # <- pointless unless you include a subscribe callback
mqttc.loop_start()
while True:
    mqttc.publish("test","Hello")
    time.sleep(10)# sleep for 10 seconds before next call

相关问题 更多 >