mqtt

// #ifdef H5
import mqtt from 'mqtt'
// #endif
// #ifdef MP-WEIXIN||APP-PLUS
import mqtt from '../../node_modules/mqtt/dist/mqtt.min.js'
// #endif
function mqttRequest({ 
	url,
	port,
	mac,
	userName = "",
	passWord = "",
	payload
}) {
	let agreement;
	//1.协议
	// #ifdef H5
	agreement = "ws://"
	// #endif
	// #ifdef MP-WEIXIN||APP-PLUS
	agreement = "wx://"
	// #endif
	// 2.端口
	url = `${agreement}${url}`;
	console.log(url)
	// 4.根据协议规则必须传递userName: 'admin',password: 'password',
	let client = mqtt.connect(url, {
		port: port,
		username: userName,
		clean: true, // 保留回话
		// connectTimeout: 4000, // 超时时间
		password: passWord,
		mac: mac,
		keepalive:10,
		keepAliveInterval: 4, //心跳包
		// timeout: 6, //超时时间
		connectTimeout: 4000, // 超时时间
		reconnect: true, //自动重连
		will: {
			topic: 'error',
			payload: payload,
			retain: false,
			qos: 0,
		},
	})

	return client
}

export {
	mqttRequest
}

/*
client.on('connect', function() {
					console.log('on connect');
					 连接成功就订阅主题
					client.subscribe(["send","close","gg"]);            
					console.log('订阅成功');
					
					 client.on(message("reg","{msg:nihao}"))
					function(err) {
						if (!err) {
							//发送
							console.log("发送")
							// client.publish('client', 'hello mqtt');
						}
					}
					
				})
				.on('reconnect', function() {
					console.log('on reconnect');
				})
				.on('error', function(err) {
					console.log(err)
					console.log('on error');
				})
				.on('end', function() {
					console.log('on end');
				})

				.on('message', function(topic, message) {
					console.log("接受,topic:" + topic + ",消息内容:" + message)
				})
				.on('offline', function() {
					client.publish('close', 'close mqtt');
				});
*/

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值