收藏
回答

websocket长时间无法连接服务器

问题模块 框架类型 问题类型 操作系统版本 手机型号 微信版本
客户端 小程序 Bug andoird,ios 不限型号 7.0

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

websocket长时间无法连接服务器


很简单的代码


socket = wx.connectSocket

socket.onOpen

sockst.send

...


偶尔会出现长时间无法连接的情况,然后不断尝试重连,大概需要1分钟左右才能成功连接。

如这时候重启微信再进入就能连接成功。


安卓、ios机型都有遇到这个问题


另外发现,这种情况在wifi下多人同时连接同一个wss服务器时会碰到比较多。而切换到4G网络下很少碰到。


错误信息:WebSocket connection to 'wss://................' failed: WebSocket is closed before the connection is established.

(因为有个超时检查,几秒钟后连接不上就socket.close())


发生问题时,通过抓包未发现有网络异常。



- 预期表现


能正常快速建立连接


- 复现路径


首次打开小程序很少碰到这种情况,但是回到微信聊天从分享卡片再次进入小程序后碰到概率很大。



- 提供一个最简复现 Demo




在提问前搜索了一下相关帖子,发现"7.0下websocket连接问题"反馈比较多,不知道我这种情况是否也是微信7.0的问题导致?


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

1 个回答

  • nickname
    nickname
    01-23

    麻烦提供能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    并上传日志:我->设置->帮助与反馈右上角有个上报日志的入口,上传成功后提供一下微信号,出现问题的时间(具体到分钟)

    01-23
    赞同
    回复 2
    • pubby
      pubby
      01-25

      非常抱歉。


      通过仔细排查,发现是websocket服务器网络设置问题


      调整网络参数后问题已解决

      net.ipv4.tcp_tw_recycle = 0

      net.ipv4.tcp_timestamps = 0

      01-25
      1
      回复
    • nickname
      nickname
      01-25回复pubby

      好的,解决就好

      01-25
      回复