小程序使用mqtt连接WebSocket调试工具可以正常连接,真机不行
发布于 5 年前 作者 jinxiulan 7967 次浏览 来自 问答
  • 当前 Bug 的表现(可附上截图)

开发工具log

真机log

  • 预期表现
  • 复现路径
  • 提供一个最简复现 Demo
6 回复

mqtt.js 3.0.0版本,对微信小程序的支持有问题,首先看一下mqtt协议:

在微信开发者工具上是可以看到,请求头包含子协议,此时连接正常:

__
__

__
__

但是到了真机上,通过“真机调试模式”会发现缺少这个请求头,无法连接。

解决方案有两种:

  1. 第一种,通过nginx反向代理:proxy_set_header Sec-WebSocket-Protocol mqtt;

  2. 第二种,将mqtt.js版本降低到 2.18.8。

连接mqtt的端口可以任意,8044端口都可以用。并非其它回答说的一定要443端口,毫无依据。

折腾一天,尝试各种方法。如果回答对你有用,可以请我喝杯咖啡,哈哈 😄

我还是不能解决,麻烦可以加一下微信聊一下吗 K402216

最近在弄小程序 MQTT类的东西,  可以加下微信或者 QQ 交流一下吗

调试工具可以正常连接,真机不行

我之前也遇到过,我的解决方法是 在真机上把 “打开调试” 开关打开,就可以了;

我一直用这个:https://github.com/xuhongv/WeChatMiniEsp8266 (【新增支持阿里云物联网连接】实现微信小程序连接mqtt服务器,可控制esp8266智能硬件等需求。)

案列有:https://github.com/xuhongv/WCMiniColorSetForEsp8266

我建议大家先用阿里云物联网平台mqtt连接!

微信官方人呢,没人回答一下吗😂

回到顶部