介绍
如何在微信小程序中使用mqtt服务?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
js中连接mqtt服务器是通过websocket来实现的,我在网上找了两个库,一个是eclipse开发的paho-mqtt。
项目地址:https://github.com/eclipse/paho.mqtt.javascript
一个是个人开发的mqttjs,项目地址:https://github.com/mqttjs/MQTT.js
比较了下,mqqtt.js比较灵活对小程序也有很好的支持,所以采用了这个库来做连接。
于是看了下他自己的介绍,直接拿过来试用了下,因为是直接用在小程序中不需要那么复杂,它提供了静态的cdn下载,
直接打开链接复制到工程中直接用就可以,不用更改.cdn地址:https://unpkg.com/mqtt@2.18.8 dist/mqtt.js分钟版:https://unpkg.com/mqtt@2.18.8 dist/mqtt.min.js;
使用起来也很简单,直接贴代码
function connectMq () { ,//才能,连接选项 const 才能;options =, { ,,,connectTimeout: 4000,,//,超时时间 ,,//,认证信息,按自己需求填写 ,,,clientId: & # 39; & # 39; ,,,用户名:& # 39;xxx # 39; ,,,密码:& # 39;xxx # 39; ,,} let 才能;phone =, app.globalData.myInfo.TelPhone; const 才能;client =, mqtt.connect(& # 39;天气://xx.xxxxxxx& # 39;,,选项) , client.on才能(& # 39;连接# 39;,,(错误),=祝辞,{ ,,console.log(& # 39;正在重连:& # 39;,,错误) })才能 , client.on才能(& # 39;错误# 39;,,(错误),=祝辞,{ ,,console.log(& # 39;连接失败:& # 39;,,错误) })才能 , client.on才能(& # 39;连接# 39;,,(e),=祝辞,{ ,,console.log(& # 39;成功连接服务器& # 39;111) ,,,//订阅一个主题 ,,client.subscribe (& # 39; phone_& # 39;, +,电话,,{,qos: 0,},, function (err), { ,,,if (!呃),{ ,,,,//client.publish (& # 39; 123 & # 39;, & # 39; Hello mqtt # 39;) ,,,,console.log(“订阅成功“) ,,,} , ,,}) })才能//监才能听mq的返回 client.on才能(& # 39;消息# 39;,,function (话题,,消息,,包),{ ,,//,message is 缓冲区 ,,console.log (“packet",, packet.payload.toString ()) ,,client.end () })才能 }
这里着重要注意的连接地址的写法
//mqtt.connect(& # 39;天气://xxxxxxxxxx& # 39;,,选项);//wx://, xx.xx.xxxxxxx//协议版本,链接地址//微信小程序这个版本,作者自己封装了一层,wx表示普通的ws协议连接,wxs表示加密之后的wss协议连接。
关于如何在微信小程序中使用mqtt服务问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。