Kernel的对TCP心跳的设置接口



Kernel的对TCP心跳的设置接口
 
SO_KEEPALIVE
  www.2cto.com  
/proc/sys/net/ipv4/tcp_keepalive_*
 
在TCP link长时间没有数据通信的时候,
为了防止傻等行为(Client crash),
可以发送一些“hello” TCP包。
 
目前有两种方式:
1.创建socket的时候指定SO_KEEPALIVE 属性,内核为你定个
timer周期性处理(优点是心跳不会丢失,缺点是无法自定义“hello”数据)
 
2.用户程序自己在用户进程内创建一个timer来发送“hello”的TCP包
(优点是可以自定义“hello”数据包,但是当系统负载很大的时候,心跳会紊乱)
 

相关内容

    暂无相关文章