收藏
回答

小程序的websocket 自动断开问题

问题模块 框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
API和组件 小程序 Bug 网络 客户端 6.6.7 2.1.1

页面在前台,建立的websocket,在大约1分钟左右就自动关闭了,返回code是1006。

查了一下rfc6455,返回1006表示异常关闭(Abnormal Closure)。


现在有个疑问:

小程序在建立连接后会定时发送包含ping帧吗?如果有,这个时间间隔可以调整吗?我看rfc6455的control frames中opcode段有定义ping/pong数据。


php的swoole库里是有自动回复pong的。当Client发送含ping的frame,会自动回执一个含pong的frame。


如果小程序没有,那就只能在application level去做ping/pong了。

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

3 个回答

  • 另一蜘猪
    另一蜘猪
    2018-07-02

    心跳需要自己实现

    2018-07-02
    赞同
    回复
  • Jerry
    Jerry
    2018-08-31

    我也发现了这个问题,能否解决

    2018-08-31
    赞同
    回复
  • mpview🌴 🇨🇳
    mpview🌴 🇨🇳
    01-11


    请看图,后台技术也是swoole做的长连接,前端这边监听到断线后重连,但是会出现刚连接上,又断开(socket连接断开API被触发了),然后又重连,又断开。试过前端做个心跳,向服务发送消息以保持在线,但不行。

    如果我不想用心跳包,就等wx.onSocketClose方法被触发,然后去重新连接,重新注册,这样有什么问题没,前端按照这样,要是再出现刚重连上又断开,那多半就是服务有问题。

    01-11
    赞同
    回复