心跳机制详解

1、什么是心跳机制?

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

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

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

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

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

3、心跳机制实现步骤

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

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

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

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

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值