SO_RCVTIMEO选项是否影响接受(导致返回EAGAIN或EWOULDBLOCK如果超时)?是否有标准规定的行为?我在文档中找不到接受或使用选项:
http://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_10_16
解决方法
在POSIX SO_RCVTIMEO被定义为“输入函数”,SO_SNDTIMEO被定义为“输出函数”时,我可以找到“输入函数”或“输出函数”的任何定义,所以我只是说他们是至少读取/接收和写/发送.
在Linux的具体情况下,SO_RCVTIMEO会影响accept(),从inet_csk_accept()可以看出,SO_SND_TIMEO会影响到connect(),可以看出tcp_sendmsg().