MQTT是一種基於釋出/訂閱(publish/subscribe)模式的"輕量級"通訊協議,該協議構建於TCP/IP協議上,由IBM在1999年釋出。MQTT最大優點在於,可以以極少的程式碼和有限的頻寬,為連線遠端裝置提供實時可靠的訊息服務。作為一種低開銷、低頻寬佔用的即時通訊協議,使其在物聯網、小型裝置、移動應用等方面有較廣泛的應用。
一.引入mqtt
npm install mqtt -g
二.使用
1.註冊
var alias = Math.random().toString(16).substr(2, 8)
client = mqtt.connect(process.env.MQTT, { //註冊地址
username: process.env.MQ_NAME, //註冊mqtt 使用者名稱
password: process.env.MQ_PD, //註冊mqtt 密碼
protocolVersion: 4,
protocolId: 'MQTT',
clientId: alias, // 要保證全域性唯一
clean: true // 控制是否授受離線訊息,false可以接受離線訊息
})
2.註冊主題*(主題mqtt傳送訊息的物件)
client.on('connect', function () {
client.subscribe(userName, function (err) {
if (!err) {
console.log('Hello mqtt')
client.publish('presence', 'Hello mqtt')
}
})
})
userName 為主題名(例如:username)
3.接受訊息
client.on('message', function (topic, message) {
// console.log(topic)
// console.log(message.toString())
msg = message
})
4.關閉mqtt
client.on('end', function (err) {
client.end()
})