收藏
回答

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

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

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

开发工具log


真机log



- 预期表现


- 复现路径


- 提供一个最简复现 Demo


最后一次编辑于  2019-03-11
回答关注问题邀请回答
收藏

6 个回答

  • ☆大左
    ☆大左
    2019-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端口,毫无依据。


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

    2019-07-09
    赞同 2
    回复
  • 蘇子水良
    蘇子水良
    01-16

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

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


    01-16
    赞同
    回复
  • 半顆心臟
    半顆心臟
    2019-09-10

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

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

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

    2019-09-10
    赞同
    回复 7
    • 高飞依旧
      高飞依旧
      2019-10-03
      你好,看过您的视频博客和github, 请问小程序后台socket合法域名是不是要配置:wss://pk.iot-as-mqtt.cn-shanghai.aliyuncs.com:443  ? 还是必须用productkey的域名?
      2019-10-03
      回复
    • 半顆心臟
      半顆心臟
      2019-10-06回复高飞依旧
      要用完整的,就是你 微信小程序访问的那个域名
      2019-10-06
      回复
    • 丶期_望℡
      丶期_望℡
      2019-11-08回复半顆心臟
      你好,我是使用ip连接的,请问怎么配置
      2019-11-08
      回复
    • 半顆心臟
      半顆心臟
      2019-11-09回复丶期_望℡
      不要用ip连接。上架或者真机调试可能连接失败!如果你没mqtt服务器搭建基础,你用百度天工mqtt或者阿里云物联网服务器连接;
      2019-11-09
      回复
    • 丶期_望℡
      丶期_望℡
      2019-11-09回复半顆心臟
      好滴,谢谢,可能就是用IP连接的问题
      2019-11-09
      回复
    查看更多(2)
  • cmy,
    cmy,
    2019-08-19

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

    2019-08-19
    赞同
    回复 1
    • Aoki
      Aoki
      2019-09-23
      QQ1005735462希望交流一下
      2019-09-23
      回复
  • 逆着阳光藐视天
    逆着阳光藐视天
    2019-07-31

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

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

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

    2019-03-12
    赞同
    回复 4
登录 后发表内容