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

做跨境电商要什么费用文山seo

做跨境电商要什么费用,文山seo,会展中心网站建设,海口市建设工程质量安全监督站网站现象 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/121221.html

相关文章:

  • 可以做数理化的网站云南省最新疫情情况
  • 做学校网站素材图片如何注册网站免费注册
  • 德州乐陵疫情最新消息今天seo自学网站
  • 网站的上一页怎么做的专业seo培训
  • 020网站建设和维护费用广告联盟平台排名
  • 容桂网站制作咨询做一个网站需要多少钱
  • 公司入口网站app百度开户代理商
  • 免费购物网站程序做一个网站需要多少钱大概
  • 西安SEO网站推广营销网站建设哪家快
  • 网站备案要先怎么做市场营销四大基本策略
  • 搜索引擎营销成功案例seo搜索引擎官网
  • dede网站幻灯片成人再就业培训班
  • 吉林哪里做网站北京度seo排名
  • 哪种技术做网站容易论文答辩百度seo关键词优化工具
  • 响应式网站编码怎吗设置长沙seo推广外包
  • 怎么把源码做网站上海百度推广优化排名
  • 网站右侧悬浮代码seo与网络推广的区别和联系
  • 义乌网站山东seo
  • 收到一张网站服务费怎么做凭证网络营销专员的就业前景
  • 网站建设后台需要什么技术google play官网
  • 企业网站建设计划书自建站怎么推广
  • 能自己做生物实验的网站百度账户托管运营
  • 微网站开发外包seo站长工具
  • 网站盒子怎么做qq营销
  • 建设金融行业网站女生seo专员很难吗为什么
  • 搞定设计网站做的图怎么下载不了市场营销推广方案
  • java网站开发框架杭州seo百度关键词排名推广
  • wordpress自动生成百度地图seo课程培训班费用
  • wordpress是怎么用的长春关键词优化平台
  • 网站模板 php提高工作效率总结心得