mqtt是輕量級基于代理的釋出/訂閱的消息傳輸協定.
有三種消息釋出服務品質:
“至多一次”,消息釋出完全依賴底層 tcp/ip 網絡。會發生消息丢失或重複。這一級别可用于如下情況,環境傳感器資料,丢失一次讀記錄無所謂,因為不久後還會有第二次發送。
“至少一次”,確定消息到達,但消息重複可能會發生。
“隻有一次”,確定消息到達一次。這一級别可用于如下情況,在計費系統中,消息重複或丢失會導緻不正确的結果。
mosquitto是一個開源的broker,并且支援mqttv3.1,支援用戶端的驗證
下載下傳位址http://mosquitto.org/download/
安裝mosquitto很簡單,下載下傳的軟體中都有說明,在xp下安裝運作的時候可能會提示缺少某個dll下載下傳這個dll即可。
在這個使用的過程中遇到個問題:設定qos的品質問題(都在在xp的cmd視窗中進行的)
1、首先到mosquitto的安裝目錄下,啟動mosquitto服務
2、開啟2個cmd視窗一個運作:mosquitto_pub.exe -q 2 -t name -m “hello”(釋出主題‘name’)記為釋出視窗
另一個視窗運作:mosquitto_sub.exe -q 2 -t bing -t name(訂閱主題‘name’)記為訂閱視窗
首先開啟的是釋出主題的視窗,在訂閱主題的視窗中能看到‘hello’的消息;
3、測試mosquitto的服務品質,現在已經啟動了2個視窗而且qos的值都為2;
a、停止訂閱主題的服務,在釋出視窗中運作:mosquitto_pub.exe -q 2 -t name -m “hello2”
b、在訂閱視窗中運作:mosquitto_sub.exe -q 2 -t bing -t name;并沒有出現預期中的‘hello2’
在這個過程中沒有修改mosquitto.conf檔案;不知道什麼地方出問題了;請大牛們指教