我想知道下面的场景是不是真实的?!
- 非阻塞 TCP 套接字上的 select() (RD) 表示套接字已准备好
- 尽管调用了 select(),但后面的 recv() 仍将返回 EWOULDBLOCK
For recv()
你会得到EAGAIN
而不是EWOULDBLOCK
,是的,这是可能的。由于您刚刚检查过select()
然后发生了两件事之一:
- 其他东西(另一个线程)耗尽了之间的输入缓冲区
select()
and recv()
.
- 套接字上设置了接收超时,超时后未收到数据。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)