MQTT——QoS服务质量等级

1.QoS是MQTT协议中的一个重要标志位。在固定报头第一个字节,低4位中定义;

2.QoS服务质量等级分为三级:QoS0,QoS1,QoS2;

2.1.QoS0:最多发送一次,到达不到达发布者不管,发布者(客户端,服务端做为发送端的时候)只发送一次,不管接收端是否收到数据;

2.2.QoS1:至少到达一次,发布者需要到达后有确认,发布者(客户端,服务端做为发送端的时候)发布消息后等待接收者(客户端,服务端做为接收端的时候)的确认信息报文;如果发布都没有收到确认报文,发布者会一直发送消息;

2.3.QoS2:只有一次到达,发布者需要到达后确认,接收者需要发布者再次确认;

3.实际应用中的QoS等级,分为SUBSCRIBE QoS, PUBLISH Qos; 

3.1. 实际通信过程中的QoS 取 SUBSCRIBE QoS, PUBLISH QoS中最小的QoS;

3.2.例如:

SUBSCRIBE QoS1 ,  PUBLISH Qos0 , 最终其他 SUBSCRIBE收到的为 PUBLISH Qos0 ;

SUBSCRIBE QoS0 ,  PUBLISH Qos1 , 最终其他 SUBSCRIBE收到的为 PUBLISH Qos0 ;

SUBSCRIBE QoS1 ,  PUBLISH Qos1 , 最终其他 SUBSCRIBE收到的为 PUBLISH Qos1 ;

SUBSCRIBE QoS1 ,  PUBLISH Qos2 , 最终其他 SUBSCRIBE收到的为 PUBLISH Qos1 ;  

原文地址:https://www.cnblogs.com/panfengyou/p/10330083.html