本篇是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位元組和緊接其後...