【发布时间】:2021-03-04 23:34:41
【问题描述】:
我使用 MQTT 协议在两台计算机之间发送消息。我已经从这段代码中得到了模式。 发布者:
import paho.mqtt.client as mqtt
from random import randrange, uniform
import time
mqttBroker ="mqtt.eclipse.org"
client = mqtt.Client("Temperature_Inside")
client.connect(mqttBroker)
while True:
randNumber = randrange(10)
client.publish("TEMPERATURE", randNumber)
print("Just published " + str(randNumber) + " to topic TEMPERATURE")
time.sleep(1)
订阅者:
import paho.mqtt.client as mqtt
import time
def on_message(client, userdata, message):
print("received message: " ,str(message.payload.decode("utf-8")))
mqttBroker ="mqtt.eclipse.org"
client = mqtt.Client("Smartphone")
client.connect(mqttBroker)
client.loop_start()
client.subscribe("TEMPERATURE")
client.on_message=on_message
time.sleep(1)
client.loop_stop()
我希望在收到消息时向发布者发送反馈。有没有办法获得消息反馈?
【问题讨论】:
-
当你说反馈时,你到底是什么意思。您想要确认订阅者已收到消息,还是想要基于订阅者解析消息的具体反馈?我相信,如果您只是想确认它到达接收器,您可以使用 QoS(服务质量)和 mqtt 来做到这一点。否则我想你将不得不让发布者订阅一个单独的频道,订阅者在完成后在该频道上发布
-
????????正是我想要确认订阅者已收到消息。
-
好的,我留下了一个答案来展示你如何做到这一点
标签: sockets client-server mqtt feedback