您好,欢迎访问代码之道!登录后台查看权限
  • 欢迎大神光临
  • 有朋自远方来 不亦悦乎

微信小程序在websocket上使用mqtt协议

码叔博客 dz2015 2021-06-07 106 次浏览 0个评论

介绍

一个在微信小程序中测试成功可用的mqtt.js版本。

因用npm install或者直接下载github上面的 MQTT.js 在微信小程序中使用碰到了各种问题,干脆就备份一个可用的版本到 mqtt-wechat

注意微信小程序只能用wss协议,ws协议可以用来测试,但是要在微信开发工具中关闭安全通信校验。

setting.png

安装教程

直接下下载mqtt.js 保存到项目代码文件中。

使用说明

连接:


需指定protocol为"wxs"或者"wx"否则库会当成在浏览器中,从而无法工作

import mqtt from "./mqtt";
const client = mqtt.connect('wss://test.mosquitto.org', {protocol: "wxs"});

或者修改URL,如你的链接是wss://则修改为wxs://,如果你的链接是ws://则修改为wx://

import mqtt from "./mqtt";
const client = connect('wxs://test.mosquitto.org');

例子:

import mqtt from "./mqtt";
var client  = mqtt.connect('wss://test.mosquitto.org', {
    protocol: "wxs",
    clientId: 'wechat_' + Math.random().toString(16).substr(2, 8),
    username: 'your username',
    password: 'your password',
    keepalive: 60,
});

client.on('connect', function () {
    client.subscribe('presence', function (err) {
        if (!err) {
            client.publish('presence', 'Hello mqtt')
        }
    })
})

client.on('message', function (topic, message) {
    // message is Buffer
    console.log(message.toString())
    client.end()
})


已有 106 位网友参与,快来吐槽:

发表评论