1. 对端进程崩溃
对端协议栈将发出FIN;本地进程如果在recv或select/epoll,能感知到对端关闭。
2. 对端主机崩溃
这个相当于拔网线或者中间路由器故障,崩溃端不做任何事情;本地进程只能通过SO_KEEPALIVE或应用的KEEPALIVE去检测对端挂了。
本文主要探讨了在网络通信中如何检测对端进程崩溃及对端主机崩溃的情况。对于对端进程崩溃,通常对端会发送FIN包,本地可以通过recv或select/epoll等方法感知到。而对于对端主机崩溃,则需要通过设置SO_KEEPALIVE选项或应用层面的KEEPALIVE机制来发现。
1. 对端进程崩溃
对端协议栈将发出FIN;本地进程如果在recv或select/epoll,能感知到对端关闭。
2. 对端主机崩溃
这个相当于拔网线或者中间路由器故障,崩溃端不做任何事情;本地进程只能通过SO_KEEPALIVE或应用的KEEPALIVE去检测对端挂了。
1714
2682
2万+

被折叠的 条评论
为什么被折叠?
