如何知道我的消息已经在 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 订阅,则消息将在重新连接时排队并传递。
唯一可以确定的方法是让接收客户端发布响应消息,确认它已收到并采取行动。
我正在使用 MQTT 协议来控制我的 Esp8266。但我不知道 Esp 什么时候得到了我的信使。那么我有什么办法可以知道吗?
您想知道您的设备是否收到您的信息? 如果是这样,您可以将 QoS 设置为 1 或 2 确保您的设备收到您的消息
或者您想知道您的设备何时收到您的消息? 如果是这样,似乎需要您的设备反馈,当收到消息时,请及时向您发送消息。
简短的回答是你不知道。
较长的版本:
MQTT 协议中没有端到端的传递通知。使用 QOS 1 或 2,您可以在任何一个客户与经纪人或经纪人与客户之间,而不是两个客户之间获得可靠的交付。 (发布和订阅都可以设置QOS级别)
当您发布消息时,您无法确定是否有任何已连接的客户端订阅了相关主题。如果订阅客户端以 QOS 1 或 2 订阅,则消息将在重新连接时排队并传递。
唯一可以确定的方法是让接收客户端发布响应消息,确认它已收到并采取行动。