Mosquitto在WINDOWS安裝linux
1、概念梳理
一、Mosquitto是一款實現了消息推送協議MQTT 3.1的開源消息代理軟件,提供輕量級的、支持可訂閱/可發佈的消息推送模式,是設備與設備之間的短消息通訊變得簡單,普遍應用於低功耗傳感器、手機(app消息推送是場景之一)、嵌入式電腦、微型控制器等移動設備。
二、那什麼是MQTT,他的英文全稱Message Queuing Telemetry Transport,翻譯過來就是「消息隊列遙測傳輸」,是ISO 標準(ISO/IEC PRF 20922)下基於發佈/訂閱範式的消息協議。它工做在 TCP/IP協議族上,是爲硬件性能低下的遠程設備以及網絡情況糟糕的狀況下而設計的發佈/訂閱型消息協議。
目前支持MQTT的服務器中間件有EMQTT、Mosquitto、Apollo。本章講的就是Mosquitto。
三、MQTT的協議內容有不少,其中一個必定要知道,就是「消息發佈服務質量」,只有三個值分別是:
QoS 0:「至多一次」,消息發佈徹底依賴底層 TCP/IP 網絡。會發生消息丟失或重複。這一級別可用於以下狀況,環境傳感器數據,丟失一次讀記錄無所謂,由於不久後還會有第二次發送。
QoS 1:「至少一次」,確保消息到達,但消息重複可能會發生。
QoS 2:「只有一次」,確保消息到達一次。這一級別可用於以下狀況,在計費系統中,消息重複或丟失會致使不正確的結果。git
下載路徑:https://mosquitto.org/downloadgithub
若是想體驗比較新版本能夠上github,可是比較麻煩的是須要本身去編譯成windows文件,編譯須要用到cmake軟件。windows
啓動服務服務器
配置文件在安裝目錄下的mosquitto.conf,默認狀況下不作任何修改,就能夠啓動mosquitto。網絡
配置說明中出現的地址例如:「/var/run/mosquitto」,「/var/log/messages」,都是相對路徑,相對於系統盤根目錄。這個地方很重要,他可不是相對於安裝目錄的根目錄。例如「/var/run/mosquitto」表示的是「c:\var\run\mosquitto」,我有一段時間一直沒搞定,就是這個目錄緣由,不少人沒有反饋這個問題,由於都是在linux用因此沒啥問題。app
安裝目錄的完整路徑中,不能出現空格,不然在命令行就沒法經過。Mosquitto默認安裝路徑是在「C:\Program Files\mosquitto」,這裏面的「Program Files」就存在空格,致使不少問題,這個也要特別注意。因此後來我改成安裝在「C:\MosquittoTest」。性能
啓動mosquitto 進行測試。測試
啓動broker
windows下使用命令提示符,進入mosquitto安裝目錄ui
輸入命令 mosquitto -c mosquitto.conf
無提示信息,表示mqtt的broker端已經啓動
保持broker啓動,打開兩個命令窗口測試發佈與訂閱
訂閱主題
mosquitto_sub -v -t topicTest01
-v:打印更多調試信息
-t:指定主題,此處爲topicTest01
發佈內容
mosquitto_pub -t topicTest01 -m TestMessage
-t:指定主題
-m:指定消息內容
測試結果:
發佈消息後,訂閱這收到了主題爲topicTest01的TestMessage消息。