Java Mqtt開發必需知識點(快取、訊息服務品質、主題過濾等)小白開發筆記

2020-09-21 13:00:31

MQTT協定完整說明  下載

Java Mqtt開發知識點

1 訂閱topic,斷線重連需要重新訂閱

 

2 包含兩種快取機制:檔案、記憶體;Mqtt最多快取65535條資訊

 

3訊息傳送機制即訊息服務品質:

QoS:釋出訊息的服務品質,即:保證訊息傳遞的次數(消費者收到的次數)

0:最多一次,即:<=1;每個訊息只發一次,也不會快取下來。

1:至少一次,即:>=1;一直傳送確保消費者至少收到一次,傳送失敗會快取下來。

2:一次,即:=1       一直傳送確保消費者只能收到一次;傳送失敗會快取下來 。

 

4連線屬性CleanSession,設定為true會清空快取,設定false會傳送快取。

 

5 傳送訊息提供了同步、非同步方法;

 

6主題過濾

多層萬用字元

如果使用者端訂閱主題 「sport/tennis/player1/#」,它會收到使用下列主題名釋出的訊息:

  • 「sport/tennis/player1」
  • 「sport/tennis/player1/ranking」
  • 「sport/tennis/player1/score/wimbledon」

單層萬用字元

「sport/tennis/+」 匹配 「sport/tennis/player1」 和 「sport/tennis/player2」 ,但是不匹配 「sport/tennis/player1/ranking」 。同時,由於單層萬用字元只能匹配一個層級, 「sport/+」 不匹配 「sport」 但是卻匹配 「sport/」。