在⼩程序中使⽤mqtt服务的⽅法
因为需求的关系,需要在⼩程序中使⽤mqtt来进⾏tcp的长连接,实时监听设备的返回状态。
js中连接mqtt服务器是通过websocket来实现的,我在⽹上了2个库,⼀个是eclipse开发的paho-mqtt。
⽐较了下,mqqtt.js⽐较灵活对⼩程序也有很好的⽀持,所以采⽤了这个库来做连接。
于是看了下他⾃⼰的介绍,直接拿过来试⽤了下。因为是直接⽤在⼩程序中不需要那么复杂,它提供了静态的cdn下载,使⽤起来也很简单,直接贴代码
function connectMq(){
// 连接选项
const options = {
connectTimeout: 4000, // 超时时间
// 认证信息按⾃⼰需求填写
clientId: '',
username: 'xxx',
password: 'xxx',
写文章的小程序}
let phone = Info.TelPhone;
const client = t('wx://xx.xxxxxxx', options)
<('reconnect', (error) => {
console.log('正在重连:', error)
})
<('error', (error) => {
console.log('连接失败:', error)
})
<('connect', (e) => {
console.log('成功连接服务器111')
//订阅⼀个主题
client.subscribe('phone_' + phone, { qos: 0 }, function (err) {
if (!err) {
//client.publish('123', 'Hello mqtt')
console.log("订阅成功")
}
})
})
//监听mq的返回
<('message', function (topic, message, packet) {
// message is Buffer
console.log("packet", String())
})
}
这⾥着重要注意的连接地址的写法
//t('wx://xxxxxxxxxx', options);
//wx://  x
//协议版本链接地址
//⼩程序这个版本作者⾃⼰封装了⼀层 wx表⽰普通的ws协议连接 wxs表⽰加密之后的wss协议连接。
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。