mqtt消息推送(vue前端篇)
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
【mqtt消息推送(vue前端篇)】})
4.关闭mqtt
client.on('end', function (err) {
client.end()
})
参考文献(https://github.com/mqttjs/MQT...)
推荐阅读
- 危险也是机会
- python学习之|python学习之 实现QQ自动发送消息
- 深入浅出谈一下有关分布式消息技术(Kafka)
- 夏夜|夏夜 我们
- Vue组件之事件总线和消息发布订阅详解
- Redis——发布订阅/消息队列
- Java消息中间件概念基础
- 【20190827复盘】——好消息
- MQ(消息队列)功能介绍
- iOS|iOS 本地推送开发记录二