有人知道在使用带有超时的阻塞套接字读取数据时,什么会导致10035错误(EWOULDBLOCK)吗?这是在Windows XP上使用.NET框架版本3.5套接字库。我自己从未遇到过这种情况, 但我的一个同事总是遇到这个问题。他向一个速度较慢的设备发送了相当大量的数据,然后等待响应,通常会出现10035错误。我想知道TCP缓冲区是否有问题,但如果是这种情况,我会期望读取操作等待或超时。套接字绝对是阻塞的,而不是非阻塞的。
可能是Mono的一个bug。我刚刚点燃了它。
http://www.lancerobinson.net/archive/2005/07/20/WinsockError10035.aspx
当客户端或服务器端的Winsock缓冲区变满时,就会发生此错误。