MQTT QoS
熟悉MQTT协议的同学们一定知道,MQTT的publish有三个QoS,0,1,2。他们分别是:
- QoS0,最多一次送达。也就是发出去就fire掉,没有后面的事情了。
- QoS1,至少一次送达。发出去之后必须等待ack,没有ack,就要找时机重发
- QoS2,准确一次送达。消息id将拥有一个简单的生命周期。
QoS0
QoS 0 对服务器来说很好处理,什么都不存,找到要发给谁,我给你发,收不收得到,不管。他的协议大概是这样的:
QoS1
QoS 1 也好理解,我发一个带messageid的消息出去,对方收到了,给我回一个带messageid的ack,我才认为数据收到了。他的协议交互大概是这样的: