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文件;不知道什麼地方出問題了;請大牛們指教