我正在使用pythonpaho mqtt client订阅mqtt代理以获取数据,并且正在使用pubsubclient.h通过ESP32发布数据
数据频率为每秒1000条消息。为了进行测试,我发布了100000条消息,并使用python paho mqtt订阅和收集数据。我测试了好几次,但在100000条消息中我收到22000-30000条消息
这是我用于订阅代理的代码:
import paho.mqtt.client as mqtt
def on_connect(client, userdata, flags, rc):
if rc == 0:
print("Connected to broker")
client.subscribe("pub_test",2)
else:
print("Connection failed")
def on_message(client, userdata, message):
print (message.payload)
def updateMqtt():
client = mqtt.Client(client_id="Sathish", clean_session=False, userdata=None, transport="tcp")
#client = mqtt.Client()
client.on_connect= on_connect
print("after on connect")#attach function to callback
client.on_message= on_message
print("after on message")#attach function to callback
client.connect("192.168.3.101", port=1883)
client.loop_forever()
# client.loop_start()
updateMqtt()
您不会丢失代理和此代码之间的消息,因为您是在QOS2上订阅的,更可能是在ESP32和代理之间丢失的,因为PubSubClient只支持QOS0
相关问题 更多 >
编程相关推荐