如何知道我的消息已在MQTT上收到

时间:2019-01-22 03:56:06

标签: callback mqtt arduino-esp8266

我正在使用MQTT协议来控制我的Esp8266。但是我不知道什么时候Esp得到了我的信使。所以有什么办法我可以知道吗?

2 个答案:

答案 0 :(得分:0)

您想知道您的设备是否收到您的信息? 如果是这样,您可以将QoS设置为1或2,以确保您的设备收到您的消息

还是您想知道设备何时收到消息? 如果是这样,似乎需要您的设备反馈,那么在收到消息后,请及时发送消息给您。

答案 1 :(得分:0)

最简单的答案是你不会。

较长版本:

MQTT协议中没有端到端交付通知。使用QOS 1或2,您可以确保在任何一个客户端与代理之间或在代理与客户端之间(而不是在两个客户端之间)进行交付。 (可以在发布和订阅上设置QOS级别)

发布消息时,无法确定是否有任何已订阅相关主题的已连接客户端。如果订阅客户端已在QOS 1或2上订阅,则该消息将在重新连接时排队并传递。

唯一确定的方法是让接收方客户端发布响应消息,以确认其已收到并采取了行动。