MQTT Qos类型解释
MQTT Qos類型解釋
原文連接:
https://blog.csdn.net/yangguosb/article/details/78653228
內容:
Qos0
發送者只發送一次消息,不進行重試,Broker不會返回確認消息。在Qos0情況下,Broker可能沒有接受到消息,流程如下圖所示:
Qos1
發送者最少發送一次消息,確保消息到達Broker,Broker需要返回確認消息PUBACK。在Qos1情況下,Broker可能接受到重復消息,流程如下圖所示:
Qos2
Qos2使用兩階段確認來保證消息的不丟失和不重復。在Qos2情況下,Broker肯定會收到消息,且只收到一次,流程如下圖所示:
Qos1 VS Qos2
與Qos1相比,Qos2的開銷會很大,因為Broker有額外的兩個動作:
去重。為了保證消息不重復,Broker必須進行去重處理;
確保響應消息PUBREC到達客戶端。Broker必須等待客戶端對PUBREC消息的響應PUBREL,只有收到客戶端的確認消息后,Broker才能對訂閱者投遞消息。
原文連接:
https://www.jianshu.com/p/ebe4b2c0461d
內容:
發布publish和訂閱subscribe都可以指定qos等級。
pub時指定的qos是跟服務器有關系的,比如qos2時,是保證服務器只收到一次,而不是最終的訂閱者。
訂閱者在sub時雖然指定了qos,但是收到的消息不一定就是指定qos等級的消息,而可能是降級的了。
為響應訂閱而發出的消息的有效載荷的QoS必須是原始發布消息的QoS和服務端授予的QoS兩者中的最小值。
比如sub qos2,pub qos0,此時服務器轉發的消息是qos0級別也就是sub可能收到一次消息也可能收不到。
再如sub qos0, pub qos2,此時服務器轉發的消息也是qos0級別,sub也是可能只收到一次消息或者收不到。
也就是服務器只會按pub和sub兩者qos等級最小的那個qos規則來發送消息。
pub時指定的qos是服務器肯定按此規則接收,但是最終訂閱者不一定。
sub時指定的qos表示訂閱者可以接收的最高消息等級,也就是可能收到更低等級的消息。
總結
以上是生活随笔為你收集整理的MQTT Qos类型解释的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 天涯树洞,想问问碰到这样的老公怎么办,婚
- 下一篇: 王者荣耀英雄熟练度怎么快速提高?