针对死链接占用资源的情况的解决方法

TCP连接中可能由于网络的问题导致客户端断开连接,但是服务器还存在和他的连接,针对死连接占用资源的情况,如何消除这些占有资源的死连接。
     如果客户端因为网络原因或者崩溃等许多原因断开了与服务端的连接,然而服务端却不知道客户端已经断开了连接并等待客户端给他发送数据占用着系统资源,我们称这样的情况为“死连接”。 在TCP连接通过三次握手连接上了以后,就会服务端就会启动保活计时器,并且服务端每次收到数据都会对保活计时器的超时时间进行更新。比如保活计时器的超时时间设置是两个小时,如果两个小时中服务端并没有收到客户端的数据,那么服务端就认为客户端有可能已经异常断开连接了,然后服务端会向客户端发送一个“探测报文段”,如果收到响应,那么更新保活计时器的超时时间。如果没有收到响应,服务端每隔75秒给客户端发送1个探测报文段,连发10个,如果还是没有响应,那么服务端就认为客户端已经关闭了连接,随即也断开连接,释放因为连接所占用的内存。
     如果客户端崩溃后重新启动,这是服务端将收到一个对其保活探查的响应,但是这个响应是一个复位,使得服务端终止这个连接,他们将进行三次挥手的重新连接工作。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值