mqtt有三种服务质量。
Qos0
发送者只发送一次消息,不进行重试,Broker不会返回确认消息。
Qos1
发送者最少发送一次消息,确保消息到达
Qos2
Qos2使用两阶段确认来保证消息的不丢失和不重复。在Qos2情况下,Broker肯定会收到消息,且只收到一次
综上所述:如果要确保能收到消息,在初始化mqtt的时候选择qos2
自建mqtt才支持qos=2, 例如阿里云物联网就不支持qos=2
如果觉得我的回答对您有用,请随意打赏。你的支持将鼓励我继续创作!