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

心跳机制详解

1、什么是心跳机制?

心跳机制出现在TCP长连接中,客户端和服务端之间定时发送一种特殊的数据包通知对方还在线,以确保TCP连接地可靠性,有可能TCP连接由于某些原因(例如网线被拔了,突然断电)导致客户端断了,但是服务端不知道客户端断了,服务器还保持与客户端连接的状态,所以为了不浪费资源需要知道客户端非正常中断,服务器应该断开客户端断开连接,需要加入心跳机制。

TCP本身内置了keepalive心跳机制,但是这种内置的心跳机制不足以满足所有的情况,所一有必要自己写心跳机制。

2、哪些网络情况下不满足keepalive心跳机制?

(1)TCP拥有keepalive心跳机制,有些设备不会处理keepalive心跳包;

(2)keepalive心跳机制只能说明连接是活的,应用实现心跳机制,可以保持连接是活的,应用正常工作。

3、心跳机制实现步骤

(1)客户端每隔一个时间间隔发送一个探测包给服务器;

(2)客户端发包时启动一个超时定时器;

(3)服务端接收到探测包,应该回应一个包;

(4)如果客户端收到服务器的应答包,则说明服务器正常,删除超时定时器;

(5)如果客户端的超时定时器超时,依然没有收到应答包,则说明服务器挂了。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【python】python基于 Q-learning 算法的迷宫游戏(源码+论文)【独一无二】
  • 个性化音频生成GPT-SoVits部署使用和API调用
  • Java正则表达式判断有无特殊字符
  • 数据结构—红黑树
  • 记一次折腾后台nodejs服务的经历
  • shopee虾皮 java后端 一面面经 整体感觉不难
  • Android TabLayout的简单用法
  • 【JavaEE】Bean的作用域和生命周期
  • AI/机器学习(计算机视觉/NLP)方向面试复习3
  • 如何通过一条SQL变更多个分库分表?
  • iptables 限制端口仅特定IP访问。
  • Apache DolphinScheduler 3.2.2 版本正式发布!
  • 一文解析:代理IP的五大优势
  • 【C#】获取DICOM图像像素的像素值
  • 【CTFWP】ctfshow-web42
  • 10个确保微服务与容器安全的最佳实践
  • Angular 响应式表单 基础例子
  • Create React App 使用
  • happypack两次报错的问题
  • HTTP请求重发
  • If…else
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • Mysql数据库的条件查询语句
  • Node + FFmpeg 实现Canvas动画导出视频
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • react 代码优化(一) ——事件处理
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • -- 查询加强-- 使用如何where子句进行筛选,% _ like的使用
  • 动态规划入门(以爬楼梯为例)
  • 对超线程几个不同角度的解释
  • 深入浅出webpack学习(1)--核心概念
  • 微信支付JSAPI,实测!终极方案
  • 400多位云计算专家和开发者,加入了同一个组织 ...
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • #HarmonyOS:基础语法
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • $.type 怎么精确判断对象类型的 --(源码学习2)
  • $emit传递多个参数_PPC和MIPS指令集下二进制代码中函数参数个数的识别方法
  • (8)STL算法之替换
  • (pycharm)安装python库函数Matplotlib步骤
  • (第30天)二叉树阶段总结
  • (多级缓存)缓存同步
  • (仿QQ聊天消息列表加载)wp7 listbox 列表项逐一加载的一种实现方式,以及加入渐显动画...
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (四)事件系统
  • (算法)前K大的和
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • ***汇编语言 实验16 编写包含多个功能子程序的中断例程
  • **PHP分步表单提交思路(分页表单提交)
  • . Flume面试题
  • .Net Core webapi RestFul 统一接口数据返回格式
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .net core使用ef 6
  • .NET 使用 JustAssembly 比较两个不同版本程序集的 API 变化