我是MQTT的新手,我想打印一个简单的数字范围,我创建了2个文件,其中第一个文件将数据发送到第二个文件和脚本,如下所示:
sender.py
import paho.mqtt.client as mqtt
client = mqtt.Client()
client.connect("192.168.1.169",1883,60)
for i in range(1,100):
client.publish("TestTopic",i)
print(i)
client.disconnect()
receiver.py:
import paho.mqtt.client as mqtt
def on_connect(client,userdata,flags,rc):
print("Connected with result code "+str(rc))
client.subscribe("house/bulbs/bulb1")
def on_message(client,msg):
# print(msg.topic+" "+str(msg.payload))
print("message received ",str(msg.payload.decode("utf-8")))
print("message topic=",msg.topic)
print("message qos=",msg.qos)
print("message retain flag=",msg.retain)
client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message
client.connect("192.168.1.169",60)
client.loop_forever()
如果接收方文件处于活动状态,我可以打印数据,但是如果我启动发送方文件然后启动接收方文件,则在打印数据时出现问题。主要问题是MQTT是否遵循队列是还是不是机制,如果是,则....如果我正在运行发送方文件,则其所有数据都应在队列中,然后在运行其他文件(即接收方)时,应进行打印。 。但是它不能以相同的方式工作,请帮助我,我去了很多文档,但是我能够找到任何相关信息。.最近我发现 clean_session ,如果有人对此有所了解,请告诉我。 ...对我的代码有任何疑问或任何疑问,请告诉我 谢谢