从我读到的内容来看,这意味着发送缓冲区暂时已满,您应该稍后再尝试发送。这就是我的问题所在,这样的等待功能会是什么样子?我尝试了 WSAAsyncSelect 和 select,但无法弄清楚它们是如何工作的。
最佳答案
select() 是最合适的工具,只需在线找到任何类型的示例即可。请注意,当示例假定为 POSIX(Unix、Linux 等)系统时,WinSock 不会设置 errno
但会使用 WSASetLastError()
。如有疑问,MSDN 是 WinSock 的引用,而不是 POSIX 规范!
您也可以使用 WSAEventSelect()
,它有一些优点,但使用起来也更复杂。暂时记住这一点并使用 select()
。
关于c++ - Winsock - 非阻塞套接字 : send returning 10035,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16995927/