vue连接mqtt

本地测试使用 emqx
1、安装mqtt

npm install mqtt

2、mqtt.js

var client
const options = {
	// host: '127.0.0.1',
	// port: 8083,
	// endpoint: '/mqtt',
	clean: true, // 保留会话
	connectTimeout: 1000, // 超时时间
	reconnectPeriod: 1000, // 重连时间间隔
	// 认证信息
	// clientId: '1',
	// username: 'emqx_test',
	// password: 'emqx_test',
}
var result;
function mqttmsg(callback) {
	console.log(122)
	client = mqtt.connect("ws://127.0.0.1:8083/mqtt", options)
	client.on('connect', (e) => {
		console.log(e);
		console.log('连接成功');
		client.subscribe(testtopic', {
			qos: 0
		}, (error) => { //订阅指定主题testtopic
			// client.subscribe('#',{qos:0},(error)=>{//订阅全部主题testtopic
			console.log(error)
			if (!error) {
			  console.log('订阅成功')
			} else {
			  console.log('订阅失败')
			}
		})
	});
	client.on('message', (testtopic, message) => {
		console.log(message)
		let xx = '收到来自' + testtopic + '的消息' + message;
		callback(JSON.parse(message.toString()))
	})
	client.on('reconnect', (error) => {
		console.log('正在重连')
	})
	client.on('disconnect', (error) => {
		console.log('服务器断开',error)
	})
	client.on('error', (error) => {
		console.log('链接失败',error)
	})
	client.on('close', (error) => {
		client.end()
	})
}
function destroyConnection(){
  client.unsubscribe('testtopic');
}
export default {
	mqttmsg,
	destroyConnection,
};
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值