SO_KEEPALIVE和心跳线程

SO_KEEPALIVE是系统底层的机制,用于系统维护每一个tcp连接的。

心跳线程属于应用层,主要用于终端和服务器连接的检查。

即使SO_KEEPALIVE检测到连接正常,但并不能保证终端和服务器连接的正常。有一种情况,服务器进程死了,但它和客户端的tcp连接还连着(该连接由系统维护的)。

这就是SO_KEEPALIVE不能取代心跳线程的原因吧。

你可能感兴趣的:(SO_KEEPALIVE和心跳线程)