前提:小程序使用mqtt做实时连接声音播报,但是mqtt总是断开连接,导致有信息接收不到。 先讲一下公司用的是 paho-mqtt.js 文件,连接socket域名的时候 报错 AMQJS0007E Socket error:undefined,查找好多文档,最后看到有人讲说 使用最新的mqtt.js 就可以了。从此我的试一试的路开始了
-
我先是安装好mqtt.js之后,连接socket 报错 WS is undefined 这个问题报错的文件指向的是mqtt.js 文件,我就想是不是我不会用这个mqtt.js 所以我又查询了用法,发现自己用的并没有问题
-
有人讲是mqtt.js文件版本问题,转到3.1.0就可以了,然后我又换成了相应的版本,发现报错变成了 websocket is undefined 我又接着找问题,后来才知道 mqtt.js 使用的socket 域名和 paho-mqtt.js不一样.
paho-mqtt.js 域名 wss://+url+path mqtt.js 域名 wxs://+url+path (socket 域名定义还是wss 只是在这里调用的时候变成了wxs)
改了域名之后就没有报这个错了
- 然后又尝试连接,项目启动之后又变成了 n.createConection is not a function
- 发现是最新的mqtt.js 版本会出现这个问题,换成mqtt.js 4.1.0 版本就可以了
- 当时连接的是阿里云公共的服务器 wss