关于linux平台下TCP/IP的保活机制小议

项目中需要对网络连接的有效性进行监测,在断开的时候及时的重连或其他处理。以前的处理方式是,应用层发送心跳包,如果一段时间内没有响应,判断为网络故障。后来,随着对tcp/ip的了解的深入,接触到了tcp/ip自带的保活机制,禁不住大喜,原来可以用系统自带的保活机制啊,根本不用应用层来自己监测的。新项目使用tcp/ip的保活机制来检测网络故障。在使用中,偶尔会发现,明明已经断开连接了,保活机制并没有检测到网络故障。真是百思不得其解,难道保活机制不能使用了么?经过深入的研究这个问题,发现了规律.保活机制根据发送缓冲区里面是否有数据来判断网络链接是否存在。拔掉网线之后,用netstat -tan 发现发送缓冲区有时候会存在数据,保活机制就任务网络存在。用到系统保活机制的同志们要注意了。(测试平台为linux3.15, 三星的4412核心版)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值