收藏
回答

微信安卓7.0.4以及7.0.5版本,websocket建立连接成功后报错

框架类型 问题类型 终端类型 微信版本 基础库版本
小程序 Bug 客户端 7.0.4、7.0.5 2.7.4

问题描述:

使用官方websocketAPI后,在ios手机上运行没有问题,但是在微信7.0.4和7.0.5版本部分安卓真机上建立websocket连接后可以进入success回调,但是会自动断开连接,报socket error: {errMsg: "exception onOpen fail code:20, msg:Invalid HTTP status."}错误或等待一段时间报socket error: {errMsg: "connect response time out"}错误。

部分机型:

红米5 plus(android8.1.0)

华为荣耀note10(android9)

华为mate 10(android8.1.0)

vivo Z5x(andorid9)


现象描述:

红米5 plus、华为荣耀note10调用wx.connectSocket建立连接,可进入success回调,然后监听到onSocketError,报socket error: {errMsg: "exception onOpen fail code:20, msg:Invalid HTTP status."}错误。

vivo Z5x、华为mate 10调用wx.connectSocket建立连接,可进入success回调,过大约60秒后报socket error: {errMsg: "connect response time out"}错误。

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

6 个回答

  • jackyzhou
    jackyzhou
    2019-07-30

    我们没有主动设置 Upgrade

    为啥有部分用户连不上socket

    也报这个错误:exception onOpen fail code:20, msg:Invalid HTTP status.

    2019-07-30
    有用 1
    回复 2
    • 2019-09-02
      解决了吗?什么问题?
      2019-09-02
      回复
    • 相
      2020-02-14回复
      我遇到同样的问题,地址里面有中文,encode一下就好了
      2020-02-14
      回复
  • 陈水平
    陈水平
    2020-08-22

    有解决了吗?我遇到这个问题。

    2020-08-22
    有用
    回复
  • -。-
    -。-
    2019-11-25

    url传参不能带中文字符,需要encode一下

    2019-11-25
    有用
    回复
  • 熊彦海
    熊彦海
    2019-11-12

    没有设置 header头信息还是保

    "exception onOpen fail code:20, msg:Invalid HTTP status."

    2019-11-12
    有用
    回复
  • 2019-09-02

    解决了吗?什么问题

    2019-09-02
    有用
    回复
  • 沁浒🐠🐔🐯
    沁浒🐠🐔🐯
    2019-07-17

    微信7.0.4、7.0.5会自动给请求头添加upgrade: 'websocket',如果你设置了upgrade: 'websocket',那么你这时的请求头就会是upgrade: 'websocket, websocket',就会报错。


    2019-07-17
    有用
    回复 1
    • 陈水平
      陈水平
      2020-08-22
      可以贴一下nginx的配置吗?
      我的是这样的
      “    #wss协议转发 小程序里面要访问的链接
          location /wss {
              proxy_pass http://websocket;#代理到上面的地址去
              proxy_http_version 1.1;
              proxy_set_header Upgrade $http_upgrade;
              proxy_set_header Connection "Upgrade";
          }”
      2020-08-22
      回复
登录 后发表内容