MQTT測試工具mosquitto軟件功能強大大,簡單易用,能提供輕量級的支mqtt開源信息,支持可發(fā)布可訂閱讀等功能,東坡這附上MQTT測試工具電腦安裝包,歡迎免費下載。
簡單易用的MQTT測試工具
MQTT測試工具功能介紹
mosquitto是一款實現(xiàn)了消息推送協(xié)議 MQTT v3.1 的開源消息代理軟件,提供輕量級的,支持可發(fā)布/可訂閱的的消息推送模式,使設(shè)備對設(shè)備之間的短消息通信變得簡單,比如現(xiàn)在應(yīng)用廣泛的低功耗傳感器,手機、嵌入式計算機、微型控制器等移動設(shè)備。一個典型的應(yīng)用案例就是 Andy Stanford-ClarkMosquitto(MQTT協(xié)議創(chuàng)始人之一)在家中實現(xiàn)的遠(yuǎn)程監(jiān)控和自動化。并在 OggCamp 的演講上,對MQTT協(xié)議進行詳細(xì)闡述。
MQTT測試工具使用方法
在本例中,發(fā)布者、訂閱者和服務(wù)器均為localhost,實際情況下三者并不是一個設(shè)備
啟動broker
windows下使用命令提示符,進入mosquitto安裝目錄
輸入命令 mosquitto -c mosquitto.conf
無提示信息,表示mqtt的broker端已經(jīng)啟動
保持broker啟動,打開兩個命令窗口測試發(fā)布與訂閱
啟動Mosquitto服務(wù)很簡單,直接運行命令行“mosquitto -c /etc/mosquitto/mosquitto.conf -d”即可。另外,Mosquitto是個純異步IO框架,經(jīng)測試可以輕松處理20000個以上的客戶端連接。當(dāng)然,實際的最大承載量還和業(yè)務(wù)的復(fù)雜度有比較大的關(guān)系。測試的時候不要忘記調(diào)整系統(tǒng)的最大連接數(shù)和棧大小,比如Linux上可用ulimit -n20000 -s512命令設(shè)置你需要的系統(tǒng)參數(shù)。
相關(guān)新聞
在《物聯(lián)網(wǎng)核心協(xié)議—消息推送技術(shù)演進》一文中已向讀者介紹了多種消息推送技術(shù)的情況,包括HTTP單向通信、Ajax輪詢、Websocket、MQTT、CoAP等,其中MQTT協(xié)議為IBM制定并力推,其具有開放、簡單、輕量級以及易于實現(xiàn)的特點使得其即便在資源受限的環(huán)境中也能得到很好的使用,比如運行在資源緊缺型的嵌入式系統(tǒng)中或網(wǎng)絡(luò)帶寬非常昂貴的環(huán)境中,除此之外,它也被廣泛用于遙感勘測、智能家居、能源監(jiān)測和醫(yī)療應(yīng)用程序等各個領(lǐng)域,是物聯(lián)網(wǎng)的重要組成部分,將來可能會成為物聯(lián)網(wǎng)的事實標(biāo)準(zhǔn)。
本篇文章將幫助讀者認(rèn)識MQTT協(xié)議以及在Linux環(huán)境下部署MQTT的開源實現(xiàn)Mosquitto進行體驗驗證,在后續(xù)文章中將展開對其源碼框架的分析,為構(gòu)建物聯(lián)網(wǎng)平臺做好鋪墊。
一、MQTT協(xié)議分析
1.1、MQTT協(xié)議簡介
MQTT(MessageQueueing Telemetry Transport Protocol)的全稱是消息隊列遙感傳輸協(xié)議的縮寫,是由IBM公司推出的一種基于輕量級代理的發(fā)布/訂閱模式的消息傳輸協(xié)議,運行在TCP協(xié)議棧之上,為其提供有序、可靠、雙向連接的網(wǎng)絡(luò)連接保證。由于其開放、簡單和易于實現(xiàn)所以能夠應(yīng)用在資源受限的環(huán)境中,對于M2M和物聯(lián)網(wǎng)應(yīng)用程序來說是一個相當(dāng)不錯的選擇。
1.2、發(fā)布者/訂閱者
MQTT采用代理的發(fā)布/訂閱模式實現(xiàn)了發(fā)布者和訂閱者的解耦(decouple),因此,在MQTT協(xié)議中有三種角色:代理服務(wù)器、發(fā)布者客戶端以及訂閱者客戶端,其中發(fā)布者和訂閱者互不干擾,也就是說發(fā)布者和訂閱者互不知道對方的存在,它們只知道代理服務(wù)器,代理服務(wù)器負(fù)責(zé)將來自發(fā)布者的消息進行存儲處理并將這些消息發(fā)送到正確的訂閱者中去。這種解耦體現(xiàn)在以下3個方面上:
·空間解耦:發(fā)布者和訂閱者不必知道對方的存在,例如對方的IP地址或者端口;
·時間解耦:發(fā)布者和訂閱者不必同時建立連接;
·同步解耦:發(fā)布者和訂閱者在發(fā)布消息或接收消息的時候不需要同步;
- PC官方版
- 安卓官方手機版
- IOS官方手機版