一、非阻塞connect有两个规则:
1、当连接成功建立时,描述符变为可写。
2、当连接建立遇到错误时,描述符变为既可读又可写。
原因是:一个TCP套接字变为可写的条件是发送缓冲区中有可用空间(对于连接建立中的套接字而言条件总是为真,因为尚未往其中写入任何数据),并且该套接字已建立连接(子条件为真发生在三路握手完成之后)。一个TCP套接字发生某个错误时,这个待处理错误总是导致该套接字变为既可读又可写。
一、非阻塞connect有两个规则:
1、当连接成功建立时,描述符变为可写。
2、当连接建立遇到错误时,描述符变为既可读又可写。
原因是:一个TCP套接字变为可写的条件是发送缓冲区中有可用空间(对于连接建立中的套接字而言条件总是为真,因为尚未往其中写入任何数据),并且该套接字已建立连接(子条件为真发生在三路握手完成之后)。一个TCP套接字发生某个错误时,这个待处理错误总是导致该套接字变为既可读又可写。