QoS 服务质量等级

形象点描述QoS等级

QoS = 0

  • 只发一次,收到就收,收不到就算
  • 发送端:“您有新消息”
  • 停止发送​

QoS = 1

  • 一直发,直到接收端返回接收报文
  • 发送端:“您有新消息”,“您有新消息”,“您有新消息”……
  • 接收端:“收到”
  • 停止发送​

QoS = 2

  • 先确认对方在线,再发送
  • 发送端:“在吗”,“在吗”,“在吗“……
  • 接收端:”在“
  • 发送端:”您有新消息“
  • 接收端:”收到“
  • 停止发送​

QoS = 0 – 最多发一次

  • 0是服务质量QoS的最低级别。当QoS为0级时,MQTT协议并不保证所有信息都能得以传输。也就是说,QoS=0的情况下,MQTT服务端和客户端不会对消息传输是否成功进行确认和检查。消息能否成功传输全看网络环境是否稳定。​

QoS = 1 – 最少发一次

  • 当QoS级别为1时,发送端在消息发送完成后,会检查接收端是否已经成功接收到了消息
  • 当QoS=1时,发送端在没有收到接收端的PUBACK确认报文以前,会重复发送同一条消息​

QoS = 2 – 保证收一次

  • MQTT服务质量最高级是2级,即QoS = 2。当MQTT服务质量为2级时,MQTT协议可以确保接收端只接收一次消息。
  • 2级MQTT服务质量是最安全的服务级别,也是最慢的服务级别