webSocket使用心跳包实现断线重连
首先new一个webscoket的连接
let noticeSocketLink = new WebSocket(‘webSocket的地址’)
这里是连接成功之后的操作
linkNoticeWebsocket(){noticeSocketLink.onopen = ()=>{//在连接成功打开的时候调用断线重连的函数,传入websocket对象 webCloseLink(noticeSocketLink)}this.noticeSocketLink.onmessage = res => {console.log("res")}noticeSocketLink.onclose = res => {console.log("websocket is closed")}},
//断开连接,断线重连的函数
webCloseLink(WebSocketId){WebSocketId.send("心跳包内容")// 每个15秒发送一次心跳包let hb = setInterval(()=>{WebSocketId.send("心跳包内容")// 检测到websocket连接断开if(WebSocketId.readyState == 2 || WebSocketId.readyState == 3){clearInterval(this.hb)let i = 1let myVar = setInterval(()=>{if(WebSocketId.readyState == 2 || WebSocketId.readyState == 3){// 重新new一个websocket的连接this.noticeSocketLink = new WebSocket(WebSocketId.url);WebSocketId = this.noticeSocketLink;if(i == 5){clearInterval(myVar);// location.reload();return}i++}else if(WebSocketId.readyState == 0){}else if(WebSocketId.readyState == 1){ // websocket重连成功this.linkNoticeWebsocket();clearInterval(hb)clearInterval(myVar)}},4*1000)}}, 15000) },
转载于:https://www.cnblogs.com/qisimx/p/10518355.html
webSocket使用心跳包实现断线重连相关推荐
- Android Socket连接(模拟心跳包,断线重连,发送数据等)
首页 博客 学院 下载 GitChat TinyMind 论坛 问答 商城 VIP 活动 招聘 ITeye CSTO 写博客 发Chat 喻志强的博客 耐心 细心 用心 传播正能量 RSS订阅 原 A ...
- WebSocket的心跳机制和断线重连
背景 在服务器重启或是弱网情况下,前端不能保证一直连接成功.因此在出现被动断开的情况下,需要有心跳机制和断线重连的功能. 心跳机制:客户端每隔一段时间向服务端发送一个特有的心跳消息,每次服务端收到消息 ...
- 浅析 Netty 实现心跳机制与断线重连
基础 何为心跳 顾名思义, 所谓 心跳, 即在 TCP 长连接中, 客户端和服务器之间定期发送的一种特殊的数据包, 通知对方自己还在线, 以确保 TCP 连接的有效性. 为什么需要心跳 因为网络的不可 ...
- Netty是如何实现TCP心跳机制与断线重连的
本文来说下Netty 是如何实现 TCP 心跳机制与断线重连的 文章目录 什么是心跳机制HeartBeat 如何实现心跳机制 Netty实现自定义的心跳机制 服务端 客户端 测试效果 客户端断线重连 ...
- Netty——心跳机制与断线重连
心跳机制与断线重连 心跳机制 IdleStateHandler 客户端 服务端 测试 正常情况 异常情况 总结 断线重连 为了保证系统的稳定性,心跳机制和断线重连可是必不可少的,而这两个在Netty中 ...
- 面试官问:服务的心跳机制与断线重连,Netty底层是怎么实现的?懵了
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 心跳机制 何为心跳 所谓心跳, 即在 TCP 长连接中, ...
- Netty实现心跳机制与断线重连
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 来源:https://www.jianshu.com/p/ ...
- 四、Netty 实现心跳机制与断线重连
一.概述 何为心跳 顾名思义, 所谓心跳, 即在 TCP 长连接中, 客户端和服务器之间定期发送的一种特殊的数据包, 通知对方自己还在线, 以确保 TCP 连接的有效性. 为什么需要心跳 因为网络的不 ...
- 给websocket加入心跳包防止自动断开连接
var userId = $("#userId").val(); var lockReconnect = false; //避免ws重复连接 var ws = null; //判断 ...
最新文章
- 在Eclipse中关联Android Private Libraries中文件的源代码
- 计划策略70 之 MIXED MRP(mixed MRP)
- SP2中修复IE浏览器的一些技巧
- 网线重新插拔后恢复正常_14日科技精选:路由器经常掉线,必须重新插拔网线才能上网。什么原因?...
- 机器学习之问题建模(一)
- 机器学习基本算法思想和步骤
- SLAM--卡尔曼滤波、粒子滤波
- android rom制作教程,【图片】ROM助手:任意安卓机型的ROM制作教程【a298t吧】_百度贴吧...
- 在Ubuntu中安装Python科学计算环境
- 寻找春天nbsp;九宫格日记-2013.06.01
- 女生学UI合适吗?橙色优学告诉你女生UI设计优势
- Usb ssh 管理android,Android USB VID PID 及 ADB
- { }大括号和[ ]中括号的用法
- 面向政府治理大数据的高性能计算系统
- 51NOD L4-第三章 树 刷题记录-zyz
- Linux共享库编程方法,Linux共享库c
- mpf11_3_status_plotly Align dual Yaxis_animation_button_MFI_Williams %Rsi_AO Co_VWAP_MAcd_BollingerB
- IROS2020开源软硬件!多激光雷达的协同定位建图及在线外参自标定
- Javascript 控制文本框的输入法切换
- 虚拟同步发电机(VSG)并网控制
热门文章
- 013_JDBC模板使用第三方连接池
- 035_jQuery Ajax的ajaxSetup方法
- 008_CSS属性选择器
- 实战派mysql高阶应用指南_MySQL高阶SQL语句(学会这些,让你对于数据库游刃有余)_Gengchenchen的博客-CSDN博客...
- Hyperledger Indy 理解
- python输入名字、输出欢迎你_python笔记3-输出输入、字符串格式化
- prerenderspaplugin 打包完成后如何让百度收录_如何提高网站流量、排名?
- Android进程保活招式大全
- gcn语义分割_ICCV Oral 2019:152层GCN大幅加深图卷积网络的方法,点云分割任务效果显著...
- php 补足字符串,php 数目字或者字符串补全