版權(quán)聲明:本文為博主原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接和本聲明板惑。
本文鏈接:https://blog.csdn.net/u012163234/article/details/52703946
MQTT簡介
MQ 遙測傳輸 (MQTT) 是輕量級基于代理的發(fā)布/訂閱的消息傳輸協(xié)議,設(shè)計(jì)思想是開放必指、簡單、輕量顾画、易于實(shí)現(xiàn)取劫。這些特點(diǎn)使它適用于受限環(huán)境。該協(xié)議的特點(diǎn)有:
使用發(fā)布/訂閱消息模式研侣,提供一對多的消息發(fā)布,解除應(yīng)用程序耦合炮捧。
對負(fù)載內(nèi)容屏蔽的消息傳輸庶诡。
使用 TCP/IP 提供網(wǎng)絡(luò)連接。
小型傳輸咆课,開銷很心┦摹(固定長度的頭部是 2 字節(jié)),協(xié)議交換最小化书蚪,以降低網(wǎng)絡(luò)流量喇澡。
使用 Last Will 和 Testament 特性通知有關(guān)各方客戶端異常中斷的機(jī)制。
有三種消息發(fā)布服務(wù)質(zhì)量:
“至多一次”殊校,消息發(fā)布完全依賴底層 TCP/IP 網(wǎng)絡(luò)晴玖。會發(fā)生消息丟失或重復(fù)。這一級別可用于如下情況为流,環(huán)境傳感器數(shù)據(jù)呕屎,丟失一次讀記錄無所謂,因?yàn)椴痪煤筮€會有第二次發(fā)送敬察。
“至少一次”秀睛,確保消息到達(dá),但消息重復(fù)可能會發(fā)生莲祸。
“只有一次”蹂安,確保消息到達(dá)一次椭迎。這一級別可用于如下情況,在計(jì)費(fèi)系統(tǒng)中田盈,消息重復(fù)或丟失會導(dǎo)致不正確的結(jié)果畜号。
前言
最近在項(xiàng)目中要使用MQTT協(xié)議,需要搭建一個(gè)MQTT服務(wù)器來進(jìn)行調(diào)試缠黍,在網(wǎng)絡(luò)上找了一天弄兜,找到的大多數(shù)都是MQTT客戶端,最后發(fā)現(xiàn)這篇博客寫的教程可以使用瓷式,特此記錄替饿。
后參考了前面博客說的,搭建了Apollo服務(wù)器贸典,這里使用的Apollo 1.7.1视卢。
使用Apollo搭建MQTT服務(wù)器步驟:
下載Apollo服務(wù)器并解壓,在CMD環(huán)境運(yùn)行其工作目錄下的...\bin\apollo.cmd廊驼,命令后面帶上參數(shù)「create mybroker」据过,創(chuàng)建服務(wù)器實(shí)例。這里需要Java環(huán)境妒挎,系統(tǒng)環(huán)境變量下要有JAVA_HOME绳锅。
創(chuàng)建實(shí)例之后會在bin目錄下生成mybroker文件夾,其中 ...\etc\apollo.xml文件下是配置服務(wù)器信息的文件酝掩,...\etc\users.properties文件包含連接MQTT服務(wù)器時(shí)用到的用戶名和密碼鳞芙,初始默認(rèn)帳號是admin,密碼password期虾;
進(jìn)入...\mybroker\bin\ 目錄原朝,在CMD輸入命令「apollo-broker.cmd run」,可以使用TAB鍵自動補(bǔ)全镶苞,運(yùn)行后輸出信息如下:
其中我們要留意的:
MQTT服務(wù)器TCP連接端口:tcp://0.0.0.0:61613
后臺Web管理頁面:https://127.0.0.1:61681/或http://127.0.0.1:61680/
登錄服務(wù)器后喳坠,如果MQTT服務(wù)器有客戶端連接,后臺會顯示如下