收藏
回答

WebSocket老是断问题

启动小程序后创建的websocket在没有进入后台时老是自动关闭,时间间隔基本在3分钟内。返回的状态码是1006,描述是

abnormal closure。请问这是怎么回事呢?如何解决?

回答关注问题邀请回答
收藏

4 个回答

  • 小程序技术专员-sanford
    小程序技术专员-sanford
    2019-02-01

    跟后台调试看看呢,感觉是服务器有问题

    2019-02-01
    赞同
    回复 1
    • 陈燕锋
      陈燕锋
      2019-02-13

      后台开发说由前端发起的断开,但前端并没有做相应的断开操作,说明下程序是保持在前台状态,并非进入了后台状态。麻烦看看是什么原因导致的

      2019-02-13
      回复
  • 社区技术运营专员-小柿子
    社区技术运营专员-小柿子
    2019-01-31

    麻烦提供下代码片段:https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    2019-01-31
    赞同
    回复 3
    • 陈燕锋
      陈燕锋
      2019-01-31


      App({
        onLaunch: function () {
          this.startSocket();
        },
        startSocket:function(){
          var time=0,soc = wx.connectSocket({
            url: '',
            header: {
              'content-type': 'application/json'
            },
            complete: function (e) {
              console.log('启动websocket', e);
              time = Date.now();
            }
          });
          soc.onOpen(function (e) {
            console.log('websocket连接正常');
          })
          soc.onMessage(function (data) {
            console.log('收到信息', data);
          })
          soc.onClose(function (e) {
            console.log('socket关闭', e);
            console.log('socket间隔时长', (Date.now() - time) + 'ms');
          })
          soc.onError(function (e) {
            console.log('socket出错', e);
          });
        }
      })


      2019-01-31
      回复
    • 陈燕锋
      陈燕锋
      2019-01-31回复陈燕锋

      这次的时间间隔更短了

      2019-01-31
      回复
    • 陈燕锋
      陈燕锋
      2019-01-31回复陈燕锋

      这次实现重连

      2019-01-31
      回复
  • Geefib
    Geefib
    2019-02-15

    后端ngix改一下proxy_read_timeout

    2019-02-15
    赞同
    回复 1
    • 陈燕锋
      陈燕锋
      2019-02-27

      好的,那试试了

      2019-02-27
      回复
  • 夏天的我
    夏天的我
    2019-02-12

    兄弟,解决了吗?我也遇到类似的问题

    https://developers.weixin.qq.com/community/minigame/doc/000ce8aac60bb89c9618d87205c800

    2019-02-12
    赞同
    回复 7
    • 陈燕锋
      陈燕锋
      2019-02-12

      没有呢,只能是断了就重连了。

      2019-02-12
      回复
    • Geefib
      Geefib
      2019-02-15

      https://blog.csdn.net/oqqYuan1234567890/article/details/70285866

      2019-02-15
      回复
    • 陈燕锋
      陈燕锋
      2019-02-27回复Geefib

      你解决了?

      2019-02-27
      回复
    • Geefib
      Geefib
      2019-02-27回复陈燕锋

      解决了,你每30秒给后台发一条心跳,让后台不要处理这条消息就OK了。感觉是微信为了节省资源,ws3分钟没通讯就会关闭

      2019-02-27
      回复
    • Geefib
      Geefib
      2019-02-27

      还有注意ws协议版本前后端保持一致

      2019-02-27
      回复
    查看更多(2)
登录 后发表内容