• 用js写的WebSocketHeartBeat,心跳检测
  • 代码
<script>var ws;//websocket实例var lockReconnect = false;//避免重复连接var wsUrl = 'ws://localhost:8811';function createWebSocket(url) {try {ws = new WebSocket(url);initEventHandle();} catch (e) {reconnect(url);}}function initEventHandle() {//连接关闭 - 重连ws.onclose = function (event) {console.log('onclose:' + event.data)reconnect(wsUrl);};//连接异常 - 重连ws.onerror = function (event) {console.log('onerror:' + event.data);reconnect(wsUrl);};//连接成功 - 发送心跳消息ws.onopen = function () {//保持连接:每60秒发送一个消息setInterval(function () {ws.send('{"user_id": 0,"cmd_type":0,"content":"HeartBeat Message"}');}, 60000);};ws.onmessage = function(event){try {let obj = JSON.parse(event.data);if (typeof obj == 'object' && obj) {//处理服务端返回的数据对象 obj:弹出消息框,内容支持点击...}} catch (e) {console.log('catch - error event:' + event.data + ' parse json error !!!' + e);}}.bind(this);}//重连操作function reconnect(url) {if(lockReconnect){return;}lockReconnect = true;//没连接上会一直重连,设置延迟避免请求过多setTimeout(function () {createWebSocket(url);lockReconnect = false;}, 10000); //10秒后重连}//调用websocketcreateWebSocket(wsUrl);</script>

用 js 写的 WebSocketHeartBeat,心跳检测,断线重连相关推荐

  1. 长连接、心跳和断线重连

    长连接.心跳和断线重连 2017年06月22日 18:38:53 天涯遍地是小草 阅读数 7938 一.概述 目前IM软件有一个基本的功能就是长在线,即只要有网络就保持登录,然而,网络状态是无法预测的 ...

  2. 【Netty】利用Netty实现心跳检测和重连机制

    一.前言 心跳机制是定时发送一个自定义的结构体(心跳包),让对方知道自己还活着,以确保连接的有效性的机制.   我们用到的很多框架都用到了心跳检测,比如服务注册到 Eureka Server 之后会维 ...

  3. netty自定义消息实现心跳检测与重连

    netty的心跳发送的重连,主要在client端.前面有关于自定义协议的demo:https://blog.csdn.net/zc_ad/article/details/83829620 其实客户端心 ...

  4. socket心跳机制图片_WebSocket心跳检测和重连机制

    1. 心跳重连原由 心跳和重连的目的用一句话概括就是客户端和服务端保证彼此还活着,避免丢包发生. websocket连接断开有以下两种情况: 前端断开 在使用websocket过程中,可能会出现网络断 ...

  5. Websocket心跳检测、重连机制

    前言 为了获取实时数据,前端需要和后端保持通信,HTTP 协议只能是客户端向服务器发出请求,服务器返回查询结果.这种单向请求的特点,注定了如果服务器有连续的状态变化,客户端要获知就非常麻烦.我们只能使 ...

  6. socket心跳检测和重连小demo

    转载自: http://blog.csdn.net/u011791526/article/details/53536403 有时候我们的程序要求socket一直保持连接,并且希望在socket断开以后 ...

  7. 长连接 、短连接、心跳机制与断线重连

    在不同场景下要考虑长连接还是短连接,那么我们要先了解他. 短连接 概念 client与server通过三次握手建立连接,client发送请求消息,server返回响应,一次连接就完成了. 这时候双方任 ...

  8. Netty实现服务端客户端长连接通讯及心跳检测

    通过netty实现服务端与客户端的长连接通讯,及心跳检测. 基本思路:netty服务端通过一个Map保存所有连接上来的客户端SocketChannel,客户端的Id作为Map的key.每次服务器端如果 ...

  9. netty心跳过程中 发送消息失败_Netty 4.0 实现心跳检测和断线重连

    arg0.pipeline().addLast("ping", new IdleStateHandler(25, 15, 10,TimeUnit.SECONDS)); 这个处理器, ...

  10. Netty 4.0 实现心跳检测和断线重连

    一 实现心跳检测 原理:当服务端每隔一段时间就会向客户端发送心跳包,客户端收到心跳包后同样也会回一个心跳包给服务端 一般情况下,客户端与服务端在指定时间内没有任何读写请求,就会认为连接是idle(空闲 ...

最新文章

  1. Best Time to Buy and Sell Stock II
  2. linux c 判断字符串是否是数字
  3. 关于window对象
  4. 6 道 BATJ 必考的 Java 面试题
  5. Wireshark(2):应用Wireshark观察基本网络协议
  6. 介绍全新的 JSX 转换
  7. 从Word Embedding到Bert模型——自然语言处理预训练技术发展史
  8. linux创建线程pthread_create函数
  9. Java运算符和类型转换
  10. android x5全屏白色,x5webview 自定义全屏界面(示例代码)
  11. 19 统计量及其抽样分布——样本均值的分布与中心极限定理
  12. Morris 中序遍历
  13. 燕山大学计算机二级加综测吗,燕山大学大学生创业协会2018至2019季学期综合测评证明(图)...
  14. HDU - 5510 Bazinga
  15. Bootstrap实战---footer处理
  16. 第一章-第六题(帮人抢票,帮人选课这些软件是否合法 你怎么看?)--By梁旭晖...
  17. Python函数嵌套/递归(七)-----详细
  18. Axway API Management以及移动互联技术实现价值型
  19. Java生鲜电商平台-微服务生鲜电商用户中心的系统设计(小程序/APP)
  20. FlexRay概述 -FlexRay的基本组件及状态机图

热门文章

  1. 虚拟机设计与实现:以jvm为例 pdf_Java虚拟机:Jvm概念和原理详解以及GC机制的分析...
  2. 史上最简明八皇后问题分析与套路总结
  3. tensorflow手动实现算法之三逻辑回归
  4. java读取properties文件详解
  5. 树的最长路径详解(C++)
  6. leftjoin数据量变多_你知道 Sql 中 left join 的底层原理吗?
  7. banner图/轮播图----html
  8. 计算机专业黑板报迎新,开学迎新黑板报_迎新学期黑板报高三
  9. linux svn服务的维护,Linux服务器搭建svn环境方法详解_网站服务器运行维护,Linux,svn...
  10. 东财在线计算机应用基础作业,《计算机应用基础》东财在线20秋第一套作业答案...