收藏
回答

小程序使用mqtt连接WebSocket调试工具可以正常连接,真机不行

问题模块 框架类型 问题类型 操作系统版本 手机型号 微信版本
客户端 小程序 Bug iOS12 iPhone 8 plus 7.0.3

- 当前 Bug 的表现(可附上截图)

开发工具log


真机log



- 预期表现


- 复现路径


- 提供一个最简复现 Demo


最后一次编辑于  03-11  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

5 个回答

  • Likun      🕷
    Likun 🕷
    03-12

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

    03-12
    赞同
    回复 4
  • ☆大左
    ☆大左
    07-09

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



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



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


    解决方案有两种:

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

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


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


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

    07-09
    赞同
    回复
  • 逆着阳光藐视天
    逆着阳光藐视天
    07-31

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

    07-31
    赞同
    回复 1
    • cmy,
      cmy,
      08-19
      请问你解决了?
      08-19
      回复
  • cmy,
    cmy,
    08-19

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

    08-19
    赞同
    回复
  • XuHnn-徐
    XuHnn-徐
    09-10

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

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

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

    09-10
    赞同
    回复