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()
})
参考文献(https://github.com/mqttjs/MQT…)