mqtt訊息推送(vue前端篇)

三月發表於2021-11-16

MQTT是一種基於釋出/訂閱(publish/subscribe)模式的"輕量級"通訊協議,該協議構建於TCP/IP協議上,由IBM在1999年釋出。MQTT最大優點在於,可以以極少的程式碼和有限的頻寬,為連線遠端裝置提供實時可靠的訊息服務。作為一種低開銷、低頻寬佔用的即時通訊協議,使其在物聯網、小型裝置、移動應用等方面有較廣泛的應用。
image.png

一.引入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()
})

參考文獻(https://github.com/mqttjs/MQT...

相關文章