select io 多路复用大家都很熟悉。
一般是 可读,可写,有异常,或者超时时select会返回。
但是当连接的对方程序退出时,select一直会返回。如果不进行处理程序会进入死循环。
比如可读集中有一个sockfd,对方已经退出。select会一直返回可读。
这时就应该判断一下读的字节数是否为零。如果为零证明对方已断。要消除这个sockfd。
select io 多路复用大家都很熟悉。
一般是 可读,可写,有异常,或者超时时select会返回。
但是当连接的对方程序退出时,select一直会返回。如果不进行处理程序会进入死循环。
比如可读集中有一个sockfd,对方已经退出。select会一直返回可读。
这时就应该判断一下读的字节数是否为零。如果为零证明对方已断。要消除这个sockfd。