心跳机制详解
来源:互联网 发布:废铁战士的时光机 知乎 编辑:程序博客网 时间:2024/05/21 11:34
什么是心跳机制?
发送方按照一定规则(周期性发送、空闲发送等等)向接收方发送固定格式的消息,接受方收到消息后回复一个固定格式的消息,如果长时间没有收到,比如心跳周期的3倍,则认为当前连接失效,将其断开。
注:发送方可以是客户端或者服务端,根据实际情况而定,常见是客户端作为发送方。
应用场景
判断长连接是否存活:当长连接没有流量时,无法判断是通信异常引起还是通信正常没有业务流量引起,通过发送心跳包进行判断。
实现技术
方式一:应用层实现心跳机制(推荐)
优点:实现策略灵活,能及时检测到连接状态;
缺点:每个应用都需要有一套,无法底层共用;
方式二:利用TCP的KeepAlive机制
TCP协议本身提供了心跳机制,需要通过SO_KEEPALIVE开启。默认情况下,当连接空闲2小时后,每隔75s发送一次心跳包,如果连续9次没有收到响应则关闭连接。
优点:不需要二次开发,简单配置参数即可;
缺点:网络环境的复杂性使得KeepAlive机制容易失效;
阅读全文
0 0
- 心跳机制详解
- 心跳机制详解
- Mina开源框架 心跳机制详解
- 心跳机制
- 心跳机制
- 心跳机制
- 心跳机制
- 心跳机制
- 心跳机制
- 心跳机制
- 心跳机制
- socket心跳机制so_keepalive设计三个参数详解
- TCP/IP Socket心跳机制so_keepalive的三个参数详解
- socket心跳机制so_keepalive的三个参数详解
- socket心跳机制so_keepalive的三个参数详解
- TCP/IP Socket心跳机制so_keepalive的三个参数详解
- 心跳包机制
- hadoop心跳机制解析
- 1023. 组个最小数 (20)——C语言
- Maven搭建SSM框架的pom.xml文件
- Oracle 11g用户修改密码及加锁解锁
- Cubes UVA
- Angular JS 缓存问题
- 心跳机制详解
- 二分查找
- Mysql解决中文乱码的问题
- 编译器常量、运行时常量以及静态块执行
- iOS11.1也不安全? 新零日WiFi漏洞被发现
- WEB测试和Aepp测试区别
- 多线程下载示例
- Maze&&Mole
- Ajax页面缓存分析与解决