返回顶部

[产业区块链] websocket心跳重连机制 , 有心跳但不知为何重连

  [复制链接]
玩得贼溜 显示全部楼层 发表于 2020-8-13 10:43:27 |阅读模式 打印 上一主题 下一主题
1
未解决

websocket心跳重连机制 , 有心跳但不知为何重连

  • 玩得贼溜
  • 操盘达人
  • 2020-08-13 10:43:27
  • 发布在 问答/互助
1216 0
这是服务端发的心跳(示例)
一直都有心跳, 但是总是频繁重连(示例)
下面是js里的心跳重连机制, 服务端发送心跳消息会通过websocket.onmessage触发此函数
按照这个流程, 只要心跳不断, 就不会触发重连, 有没有人帮忙指点迷津, 感谢!!
  1. function sundyn_ws_check(s) {
  2.     var obj = eval('(' + s + ')');
  3.     if ("time" in obj) {        
  4.         last_time_check_ws = new Date().getTime();
  5.         setTimeout(function () {
  6.             if ((new Date().getTime() - last_time_check_ws) > 25000) {
  7.                 app.RetryConn();
  8.             }
  9.         }, 30000);
  10.     }
  11. }
复制代码

js逻辑:
一小格10秒,设置定时器,判断心跳间隔时间差,连续有心跳就不会触发重连
另外:
重连之前原本20秒一次的心跳就变得频繁
(频繁心跳不一定会重连, 但重连之前都是频繁的心跳)
敢问为什么在一直有心跳的情况下还触发重连机制, 我该怎么做才能在该重连的时候重连

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

星点互联 成立于2014年8月,是目前国内优秀的开源技术社区,拥有超过300万会员,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作