1***@qq.com
1***@qq.com
  • 发布:2019-09-01 22:47
  • 更新:2020-08-13 14:05
  • 阅读:7638

uni-app的websocket 感觉有点问题,有时候正常发送消息,服务器收不到

分类:uni-app

正常接入 使用中,比如过一段时间,再次发送消息,不报错,提示正常发送但是服务器端并没有收到消息。
一般的socket断开 发送消息 会提示 not open, 这是个bug么?

2019-09-01 22:47 负责人:无 分享
已邀请:
5***@qq.com

5***@qq.com

页面离开或退到后台会断开

  • 1***@qq.com (作者)

    全局websocket main.js中引用的,后台不会断开。但是过一段时间 就会出现我说的情况, 及时断开服务或者手机端都能收到断开请求的,但是并没有。就导致后来发消息,手机端也不报错。也发不出去了,

    2019-09-02 11:46

  • 5***@qq.com

    回复 1***@qq.com: 你在后台模式时,就会断开,手机判断你程序进入后台,就会断开活动,不管是H5还是小程序还是别的。

    2019-09-03 13:48

  • 1***@qq.com (作者)

    回复 5***@qq.com: 不是这个问题, 是自带的基座调试问题,打包不会出现了

    2019-09-17 15:31

  • l***@163.com

    回复 1***@qq.com: 你打包后在后台可以收到消息吗?

    2021-09-22 19:45

6***@qq.com

6***@qq.com

测试一下uniAPP性能如何

  • 1***@qq.com (作者)

    是否app 在后台不用 30分钟会进入一个类似休眠的状态?并且断开了socket,但是不提示。也不报错

    2019-09-02 11:48

  • 2***@qq.com

    回复 1***@qq.com: 你解决了吗?我也遇到了

    2020-01-10 14:30

  • 1***@qq.com (作者)

    回复 2***@qq.com: 加心跳吧

    2020-02-27 15:59

2***@qq.com

2***@qq.com

大佬解决了吗?我也遇到这个问题了

6***@qq.com

6***@qq.com

我知道,我给你说一下掉线情况吧。我也不知道自己说的对不对。
先给你分析掉线情况

  • 1.app熄屏掉线
  • 2.app后台掉线
  • 3.网络通信掉线
  • 4.用着用着突然掉线
    掉线情况无外呼这几种情况
    接下来我来分析分析下掉线重连
    -1.争对第1和2这两种情况掉线,其实解决很简单。就在页面被唤醒的时候,触发app.vue的onshow事件,里面使用uni推送一个心跳即可,如果掉线了会触发error方法。error重连即可
  • 2.争对第三种情况直接监听网络变化,推送消息。也走error方法
  • 3.第4种情况会直接触发error方法
    综上所述你只需要解决好error方法的监听即可,你看看是不是这样
6***@qq.com

6***@qq.com

没问题哟 在APP.vue里面做监听就可以了

2***@qq.com

2***@qq.com

请注意,这个是会掉线的需要重连

葱子

葱子

近期在uniapp开发中有使用【GoEasy】这一款websocket推送框架,对uniapp的支持还可以,具备心跳、自动重连机制,也提供了很多demo,节省了很多开发时间。试用下来,整体的稳定性和实时性都还不错的。

  • 6***@qq.com

    【GoEasy】这B玩意儿,还收钱。现在很多老板都喜欢白嫖。

    2020-08-31 18:35

  • 葱子

    回复 6***@qq.com: 萝卜青菜各有所爱,也可以自己开发,只是多花些时间而已

    2020-09-02 09:43

  • 2***@qq.com

    又在割韭菜了。。。

    2021-11-17 17:04

该问题目前已经被锁定, 无法添加新回复