使用websocket长连接进行实时通信,在制作客服聊天或是必要的数据实时更新需求中是很好的选择,毕竟轮询大家都懂的

但是websocket服务端通常为了保证资源的有效利用,会加入心跳机制,当超过心跳时间未收到连接发过来的心跳,就主动断开连接释放资源,这种做法主要是为了应对断电,断网之类的极端情况,使得浏览器来不及发送断开请求。

问题也随之而来,js在手机熄屏后会中断,在唤醒之后js会继续执行。所以设置在js中的定时发送心跳包的功能在手机熄屏后就没法执行了。熄屏时间过长,这个时候链接就会被服务端强制断开,并且大部分手机在熄屏时,websocket连接就已经断开了。

问题的解决办法是,使用H5提供的页面隐藏/显示API。

---------------------

作者:李小白1

来源:CSDN

原文:https://blog.csdn.net/qq449736038/article/details/80771278

版权声明:本文为博主原创文章,转载请附上博文链接!

document.addEventListener('visibilitychange',function() {

if(document.visibilityState=='hidden') {

that.hiddenTime = new Date().getTime()//记录页面隐藏时间

}else{

let visibleTime = new Date().getTime();

if((visibleTime-that.hiddenTime)/1000>10){//页面再次可见的时间-隐藏时间>10S,重连

typeof that.ws.close == 'function' && that.ws.close();    //先主动关闭连接

console.log('主动关闭连接后重连');

setTimeout(function(){

that.openSocket()    //打开连接,使用的vuejs,这是websocket的连接方法

},1500);    //1.5S后重连

}else{

console.log('还没有到断开的时间')

}

}

});

android 熄屏后socket,手机熄屏再唤醒后 websocket 的重连方法。相关推荐

  1. 设置熄屏_华为手机熄屏后还能这样操作?你不知道就挺遗憾的!

    大家都知道华为手机上面有许多实用的功能,那么你们知道华为手机在熄屏后还能进行哪些操作吗? 不知道了吧,嘻嘻,下面我们就来一起看看吧. 熄屏快呼 手机熄屏状态后,还能打电话?熄屏时,长按手机音量下键,听 ...

  2. android手机可以分屏么,安卓手机怎么分屏操作 安卓手机分屏操作设置教程

    相信很多朋友在用手机看视频或者玩游戏聊天以及参加一些应付考试等等的时候,都会想能不能同时打开多个界面,其实是可以的,只是因为很多时候手机的分屏功能没有被大家所重视,分屏操作支持大家同时打开多个界面,与 ...

  3. android 锁屏 广告,华为手机锁屏后总是出现广告该怎么办?-安卓手机屏幕解锁后总是有个广告...

    大家在使用<>开锁>过程中可能会有<>安卓手机打开锁屏总有新闻广告>的问题,今天就由极速到家为大家从以下几个方面:<>华为手机锁屏后总是出现广告该怎么办 ...

  4. android系统密码设置功能,手机锁屏密码怎么设置 三种安卓手机锁屏方式推荐

    手机中有很多应用都是与金钱挂钩,特别是微信与支付宝等等既涉及到隐私又与财产关联,这是后手机的安全就尤为重要的,而手机的锁屏密码就是一道最基本的防护措施,那么手机锁屏密码怎么设置?来看看小编推荐的三种安 ...

  5. 【Android 屏幕适配】异形屏适配 ① ( 异形屏类型:刘海屏、水滴屏、挖孔屏 | 沉浸式布局刘海屏适配 | 华为手机异形屏适配注意点 )

    文章目录 一.异形屏类型:刘海屏.水滴屏.挖孔屏 二.沉浸式布局刘海屏适配 三.华为手机异形屏适配注意点 屏幕适配参考文档 : 设备兼容性概览 屏幕兼容性概览 支持不同的像素密度 声明受限屏幕支持 异 ...

  6. android投屏乐视,手机投屏Letv电视的三种办法【乐播投屏】

    手机投屏Letv电视的三种办法[乐播投屏] 发布时间:2019/07/01 00:00 Letv超级电视升级到8.0后,看见有部分乐迷反馈说手机投屏投不上去.可能是因为方法没有用对,下面教你三种办法手 ...

  7. android带投屏播放器,手机投屏播放器软件下载-投屏播放器 安卓版v2.4.6-PC6安卓网...

    手机投屏播放器软件是一款非常不错的投屏神器,使用投屏播放器app用户可以将手机上的视频投放在光滑的墙面上,投屏播放器app也能投放到Tv上,设置方法非常简单,喜欢的玩家不要错过,欢迎下载! 软件介绍 ...

  8. Android手机电视投屏,三种手机投屏到电视的方法!苹果、安卓手机均可以使用!...

    原标题:三种手机投屏到电视的方法!苹果.安卓手机均可以使用! 日常生活中,想把手机里的照片.视频.文档等内容分享给身边的朋友.但是手机这块"小屏幕"绝对不能令人满意.相信很多人都会 ...

  9. android 锁屏画报,小米手机锁屏画报一直换怎么办?小米锁屏画报设置技巧

    小米手机的锁屏海报是可以实施自动更换的.毫无疑问这是相当费流量的.当小米手机没有wifi环境了,小编建议将这项功能进行关闭.下面小编来介绍下小米锁屏画报怎么关闭? 小米锁屏一直更换怎么关? 小米锁屏画 ...

最新文章

  1. 交互式多模型_DeepFaceLab824版 Avatar换头模型尝鲜!
  2. ROS使用自定义消息类型
  3. 软件测试中的冲突测试
  4. 【项目实战课】基于Pytorch的SRGAN图像超分辨实战
  5. linker command failed with exit code 1 解决
  6. 深入理解Java幂等性
  7. cache failed module status_Flutter混编之路——iOS踩坑记录
  8. oracle 获取一周七天,Oracle中求出本礼拜第一天和第七天的日期
  9. 大数据学习笔记:利用JAVA项目操作HBase
  10. JS--我发现,原来你是这样的JS(三)(基础概念--灵魂篇)
  11. python3 range函数_为什么python3中的xrange函数不能用
  12. poythoncode-实战5--excel 文件读取,文本文件,csv文件,存到系统中以大列表方式进行存储
  13. 为什么自建深度学习机器?因为比AWS便宜10倍啊!
  14. python能不能自动写代码_微软最强 Python 自动化工具开源了!不用写一行代码!...
  15. 织梦模板修改{dede:list}标签后,可支持权重排序、flag标签功能
  16. How to change Intel WiFi Link 5100 AGN MAC addr(更改Intel WiFi Link 5100 AGN MAC地址)
  17. Fzu-2190 非提的救赎 (单调栈)
  18. ios上webview与浏览器webview
  19. 基于unity无人机3D仿真《一》
  20. 实验六、数据挖掘之关联分析

热门文章

  1. 硬盘分区误删数据如何恢复呢?
  2. css3上下左右渐变效果,很酷,很强大
  3. 信息熵和条件熵的计算
  4. c语言利息计算编程,C语言中的求利息编程?
  5. HashMap.entrySet( )分析
  6. Arduino Uno 蜂鸣器播放《千本樱》
  7. css 边框太粗_9个很棒的CSS边框技巧
  8. Lucene(八)拓展1-结巴分词(java版) jieba-analysis
  9. R语言中不同类型的聚类方法比较
  10. 【MM系列】SAP基本计量单位更改