MQTT SN協議亂翻之實現要點

2021-09-08 11:11:20 字數 934 閱讀 7630

本篇是mqtt-sn 1.2協議最後一篇翻譯了,主要涉及實現要點,很簡短。

qos雖預設設定有0,1,2三個值,但還有一種情況其值為-1。來自客戶端的publish訊息中若qos為-1的情況下,此刻客戶端不會關心和閘道器有沒有建立連線,也不在乎時間點,有訊息就需要發出去。透明的閘道器需要維護此類訊息並與遠端的mqtt server建立乙個專用tcp連線。聚合閘道器或hybird混雜閘道器可使用已有的mqtt server連線**此類訊息。

定時器/計數器

說明推薦值

t_adv

廣播頻率

大於15分鐘

n_adv

沒有接收到adverse廣播次數

2-3次

t_searchgw

傳送searchgw延遲

5秒t_gwinfo

等待閘道器響應gwinfo廣播延遲時長

5秒t_wait

等待時長

大於5分鐘

t_retry

重試時長

10s - 15s

n_retry

重試次數

3-5次

閘道器處理客戶端的休眠和存活定時器,需要根據客戶端在所傳送訊息中延續時間的定義值。例如,定時器值應該高出10%大於指定值持續時間1分鐘,如果不高出50%。

閘道器持有的topic id和topic name的對映維護

協議嚴重建議所有客戶端的topic id和topic name之間對應關係不應該使用乙個共享池物件,因為這樣可以避免不同客戶端topic id和topic name匹配錯誤,將publish訊息發錯地方(客戶端接收者),可能會導致引發潛在的不可恢復的災難性後果。

正確做法是按照客戶端的維度為維護topic id和topic name的對應關係。任何兩個客戶端之間可能會存在同樣的topic name,但對應的topic id不一樣。可能topic id一致,但topic name不一樣。

MQTT SN協議亂翻之實現要點

本篇是mqtt sn 1.2協議最後一篇翻譯了,主要涉及實現要點,很簡短。qos雖預設設定有0,1,2三個值,但還有一種情況其值為 1。來自客戶端的publish訊息中若qos為 1的情況下,此刻客戶端不會關心和閘道器有沒有建立連線,也不在乎時間點,有訊息就需要發出去。透明的閘道器需要維護此類訊息並...

MQTT簡介之五 MQTT SN

mqtt sn sensor networks 是mqtt協議的感測器版本,最早使用在zigbee無線網路中,主要面對電池供電有限的處理器能力和儲存能力的裝置。基於tcp協議的mqtt對有些感測器來說還是負載太重了,這些感測器可能只有幾十個位元組的記憶體,無法執行tcp協議。總之,針對低功耗 電池驅...

網路協議 IP協議 ARP協議 RARP協議

ip資料報 ip是tcp ip協議族中最核心的協議,所有的tcp udp icmp igmp資料都以ip資料報的格式傳輸。ip僅提供盡力而為的傳輸服務,如果發生某種錯誤,ip會丟失該資料,然後傳送icmp訊息給信源端。另外,ip資料報可以不按傳送順序接受。ip資料報的格式如下 前20位元組和緊接其後...