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