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

学院网站建设成效怎样做好网络营销推广

学院网站建设成效,怎样做好网络营销推广,中小企业网站建设与管理,什么网页传奇好玩现象 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/wzjs/104569.html

相关文章:

  • 商水县建设局网站广州的百度推广公司
  • 免费营销软件网站建设贵阳关键词优化平台
  • 芙蓉区建设局网站新手怎么引流推广推广引流
  • 企业网站 优帮云巨量数据分析入口
  • 建设工程主管部门网站宿迁网站建设制作
  • 北京个人网站开发制作杭州seo教程
  • 可以做描文本的网站百度可以发布广告吗
  • 想建个板栗网站怎么做谷歌搜索引擎香港免费入口
  • 足球网站模板下载拉人注册给佣金的app
  • 厦门建设厅查询网站首页拼多多运营
  • 网站建设教育培训网站搭建谷歌seo
  • 安康市建设银行网站海外广告投放渠道
  • 商城手机网站建设爱站网长尾关键词挖掘工具电脑版
  • 刘家窑网站建设北京seo助理
  • wordpress 无法下载主题百度seo排名优化公司哪家强
  • 购物网站下载抖音指数查询
  • 2018爱情动做网站小红书推广怎么做
  • 深圳html5网站推广价格外贸网站平台
  • 与人妖做视频网站seo推广网络
  • 针对网站开发者的问答网站百度seo流量
  • html做网站的毕业设计网站推广的方式有
  • 香奈儿网站建设的目标谷歌搜索入口365
  • 如何确定网站建设空间经典软文广告
  • 美食网站开发与设计毕业论文百度一下搜索
  • 推进门户网站建设工作会议搜狗快速收录方法
  • 做网站策划一个专利的主题宣传矿产网站建设价格
  • 网站建设需要哪个部门审批搜狗网站seo
  • 如何做网站内容构架图网络营销推广方案策划书
  • 哈尔滨网页制作人才招聘semseo是什么意思
  • 电子商务网站后台需求全国疫情地区查询最新