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

How to know my message has been received on MQTT

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

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

或者您想知道您的设备何时收到您的消息? 如果是这样,似乎需要您的设备反馈,当收到消息时,请及时向您发送消息。

简短的回答是你不知道。

较长的版本:

MQTT 协议中没有端到端的传递通知。使用 QOS 1 或 2,您可以在任何一个客户与经纪人或经纪人与客户之间,而不是两个客户之间获得可靠的交付。 (发布和订阅都可以设置QOS级别)

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

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