【发布时间】:2013-07-13 11:46:24
【问题描述】:
1) 阻塞和非阻塞的套接字的返回值的含义有区别吗?有时 recv() 甚至在 select() 之前成功返回 0 并且另一侧的对等方没有像文档所述那样关闭连接的一半。这是真的吗?
来自 osx 和 win 的文档:“对于 TCP 套接字,返回值 0 表示对端已关闭其一半的连接。”
2) 阻塞套接字的问题:在阻塞套接字上,我希望 SO_RCVTIMEO 和 SO_SNDTIMEO 有一个设置的默认值,例如 30 秒(使用 getsockopt 检查)。为什么它们设置为 0?
【问题讨论】:
标签: sockets timeout blocking nonblocking