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

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