当前位置:   article > 正文

【uni-app】uniapp中微信小程序APP使用mqtt(vue同理)_uni-app mqtt

uni-app mqtt


❤前言

MQTT(消息队列遥测传输)是ISO 标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议。它工作在 TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布/订阅型消息协议,为此,它需要一个消息中间件 。


❤第一步

引入mqtt.min.js
小程序APP mqtt.min.js下载地址:下载地址

vue网页,可直接使用npm安装即可

 npm i mqtt@3.0.0 --save
  • 1

❤第二步

连接mqtt

// import mqtt from 'mqtt' //vue网页这样引入
let mqtt = require('../common/js/mqtt.min.js')  //js地址
//小程序要以wx开头,上线正式版要配置wxs,就是类似https
let mqttUrl = 'wx://127.0.0.1:8083/mqtt'  //这是mqtt的访问地址,要以/mqtt结束
let options = {
	clean: true, // 是否清除会话
	connectTimeout: 4000,
	resubscribe: true, 
	username: userName,
	password: '',
	//qos:0 ===>发送者只发送一次消息,不进行重试,Broker不会返回确认消息
	//qos:1 ===>发送者最少发送一次消息,确保消息到达Broker,Broker需要返回确认消息PUBACK
	//qos:2 ===>使用两阶段确认来保证消息的不丢失和不重复
	//不懂的话,参考这个网址:https://blog.csdn.net/yangguosb/article/details/78653228
	qos: 1, 
}
options['url'] = mqttUrl
options['clientId'] = '12345678' // $uuid.uuid(8, 16),clientId不允许重复,我是使用的uuid
console.log(options);

let client = mqtt.connect(options.url, options)
client.on('connect', function() {
	console.log('====连接成功====');
	
	let list = ['app/alarm/1','app/alarm/2'] //这是订阅的主题名
	//订阅多个主题
	client.subscribe(list, {
		qos: 1
	}, err => {
		console.log(err || '订阅成功');
	});
})

//mqtt离线
client.on('offline', function() {
	console.log('offline')
})

//mqtt接收到信息
client.on('message', function(topic, message) {
	let msg = JSON.parse(message.toString())
	console.log(msg, '===信息===');
})

//mqtt连接失败
client.on('error', (err) => {
	console.log('error', err)
})
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48

还有一个就是关闭mqtt

client.end()
  • 1

❤ 总结

Thanks♪(・ω・)ノ,到此就结束了,有什么问题都可以问!
欢迎评论 / 私信我~

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/507690
推荐阅读
相关标签
  

闽ICP备14008679号