两个进程通过套接字进行通信 - 进程A和进程B.
进程B正在使用select()
调用来检查套接字何时准备好I/O.
进程A突然被杀死。 B侧插座会发生什么。 B侧套接字是否会自动检测到A的套接字不再可用,select()
将返回-1 EABDF
。或select()
来电将永远被阻止。
答案 0 :(得分:2)
选择将解锁,将返回错误案例或阅读案例。
答案 1 :(得分:2)
select()
返回并说套接字是可读的。当你读取套接字时,你将得到-1(和errno中相应的错误)或0(EOF)。
答案 2 :(得分:-1)
如果双方之间没有心跳,tcp套接字将保持半开一段时间。 最后tcp连接会超时,取决于超时设置。 请参阅:http://en.wikipedia.org/wiki/Half-open_connection