当前位置: 首页 > news >正文

信息公司网站建设方案+游戏全自动引流推广软件免费

信息公司网站建设方案+游戏,全自动引流推广软件免费,有路由器做网站,做外贸哪个网站要办信用卡的现象 websocket 先连接成功,然后断网。 由于维护了一套心跳机制,前端发起心跳,如果一段时间内没有收到服务端返回的心跳。则表示连接断开。 用心跳的方式处理断网的兜底情况。 然而,此时网络是断开的,在代码中直接调…

现象

websocket 先连接成功,然后断网。

由于维护了一套心跳机制,前端发起心跳,如果一段时间内没有收到服务端返回的心跳。则表示连接断开。

用心跳的方式处理断网的兜底情况。

然而,此时网络是断开的,在代码中直接调用websocket.close() 方法,会发现,websocket.readyState 会一直在 WebSocket.CLOSING 状态,等很久也不会触发onclose 回调。

只有网络通的时候才会触发 websocket onclose。

这样会触发不了我的重连逻辑。因为重连逻辑做在onclose 回调里面。

解决

通过定时器检查websocket 的状态,如果在几秒钟之后,还是 CLOSING 状态,则直接调用onclose 的回调。

onclose 的回调有一个参数,可以通过 new CloseEvent 来模拟,代码如下。

const ws = new WebSocket('ws://xxxx');ws.onclose = onclose;function onclose(e){}// 可以在检测到closing 状态超时了后,主动调用onclose 回调,自行模拟eventonclose(new CloseEvent('close', {wasClean: false,code: 3000,reason: 'websocket closing timeout',
}))

还要注意的是,在重新new Websocket 之前,要清除当前的websocket实例,其中的各种回调要置为null (onopen, onclose, onerror, onmessage)

因为等到重连的时候,这个CLOSING 状态的ws实例会触发onclose,导致onclose回调中的内容被重复执行。

参考

  • WebSocket.close() - Web API | MDN
  • CloseEvent - Web API | MDN
http://www.dtcms.com/a/455582.html

相关文章:

  • 商务网站开发开题报告上海十大策划公司排名
  • 如何识别html5网站做外贸 访问国外网站 怎么办
  • 哈尔滨网站建设一薇ls15227网站的备案信息域名不一样
  • 企业网站管理系统登陆官方企业微信app下载
  • 网站怎么吸引用户qq网页版在线登录聊天
  • vip影院自助建站系统域名 网站
  • 展示型网站建设标准网站远程数据库
  • 造价人员做兼职的网站网站建设文件
  • 如何搭建 seo网站适合建设网站的国外服务器
  • xampp配置多网站网站设计师是做什么的
  • wordpress博客文章站长工具seo综合查询网
  • 求网页设计与网站建设生成短链接的工具
  • 做网站公司 蓝纤科技管理学课程
  • 如何增加网站收录html5和h5的区别
  • 网站建设管理分工的说明工信部网站备案系统登录
  • 网站建设的合同书wordpress调用制定id
  • 五常网站专业网络推广平台
  • 追设计网站做分色找工作网站
  • 欧美风网站wordpress post grid
  • 特价网站建设公司直播视频app
  • 北京智联招聘官方网站做家政wordpress 标签 函数
  • php网站开发系统个人网站 云服务器
  • 做rom网站康巴什网站建设
  • 商务网站价格wordpress 分类数量
  • 源码站用dz wordpress浙江平台网站建设制作
  • 做网站需要流程西宁网络公司做网站哪家好
  • 类似红盟的网站怎么做小米wifi设置网址入口网站
  • 北京制作网站的公司简介大学生个人网站模板
  • 用wordpress制作网站最好的免费建站网站
  • 龙岗 网站建设网站访问量js