mqtt消息推送(vue前端篇)

FullStack
• 阅读 5666

MQTT是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。
mqtt消息推送(vue前端篇)

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

点赞
收藏
评论区
推荐文章
blmius blmius
4年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Wesley13 Wesley13
4年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Wesley13 Wesley13
4年前
FLV文件格式
1.        FLV文件对齐方式FLV文件以大端对齐方式存放多字节整型。如存放数字无符号16位的数字300(0x012C),那么在FLV文件中存放的顺序是:|0x01|0x2C|。如果是无符号32位数字300(0x0000012C),那么在FLV文件中的存放顺序是:|0x00|0x00|0x00|0x01|0x2C。2.  
Wesley13 Wesley13
4年前
activeMQ+MQTT实现点对点发送消息
问题的提出:最近在做若干安卓设备(共享项目使用的硬件)和服务器通信实现MQTT消息的的接收。由于MQTT的限制(注意:不管你用的是paho的库还是其他任何MQTT的库都一样,这是MQTT协议的限制。)而无法实现服务器只给某一台机器(根据机器的IMEI号)发送消息。一开始使用的方法,就是服务器只管群发(消息体里会带一个终端ID字段信息),安卓端收到消息后,
Wesley13 Wesley13
4年前
MQTT实战之MQTT入门
MQTT入门介绍(一)一.MQTT简述MQTT(MessageQueuingTelemetryTransport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在
Wesley13 Wesley13
4年前
MQTT初始篇笔记整理
MQTT简介MQTT(MessageQueuingTelemetryTransport,消息队列遥测传输),基于TCP/IP协议栈而构建,虽然叫消息队列遥测传输,但是她与消息队列毫无关系,她是一个IBM开发的客户端服务端架构的发布/订阅模式的消息传输协议;她的设计思想是轻巧、开放、简单、规范、易于实现,因此MQTT比较
Stella981 Stella981
4年前
MQTT消息协议、服务器及其客户端
    MQTT是一个轻量级的消息协议。从2014年12月IOIT大会上得到的消息,该协议已经被OASIS标准组织接收,成立了专门的工作组,以意味着该规范正式走向了标准化之路。    目前MQTT的标准组织官网:http://www.mqtt.org(https://www.oschina.net/action/GoToLink?urlhttp%3
Wesley13 Wesley13
4年前
MQTT 折腾笔记
导言第一次听说MQTT这玩意是由于要找个做手机推送的方案,后来发现,JPush这家伙做的实在不错,然后就不折腾了,最近,忽然心血来潮,把MQTT协议(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fpublic.dhe.ibm.com%2Fsoftware%2Fdw%2Fw
Wesley13 Wesley13
4年前
34.TCP取样器
阅读文本大概需要3分钟。1、TCP取样器的作用   TCP取样器作用就是通过TCP/IP协议来连接服务器,然后发送数据和接收数据。2、TCP取样器详解!(https://oscimg.oschina.net/oscnet/32a9b19ba1db00f321d22a0f33bcfb68a0d.png)TCPClien
GeorgeGcs GeorgeGcs
8个月前
【HarmonyOS 5】鸿蒙中如何使用MQTT
鸿蒙开发能力HarmonyOSSDK应用服务鸿蒙金融类应用(金融理财一、MQTT是什么?MQTT(MessageQueuingTelemetryTransport,消息队列遥测传输)是一种轻量级、基于发布/订阅(Publish/Subscribe)模式的即