套接字准备好读
- 该套接字接受缓冲区的数据字节数>=低水位标记的当前值(默认1)。这时读套接字将不阻塞并返回大于0的值
- 该连接的读半部关闭(也就是接受了FIN的TCP连接)。这时读套接字将不阻塞并返回0
- 是一个监听套接字且已完成的连接数不为0。对这样的套接字accept通常不会阻塞
- 其上有一个套接字错误待处理。这时读套接字将不阻塞并返回-1,同时设置errno。
套接字准备好写
- 同套接字准备好读1
- 该连接的写半部关闭。对这样的套接字啊的写操作将产生SIGPIPE信号,该信号的默认处理为终止进程
- 使用非阻塞式connect的套接字已建立连接,或者connect已经失败
- 同套接字准备好读1
注意:当某个套接字上发生错误时,它将select标记为即可读又可写。