草庐IT

WSAEWOULDBLOCK

全部标签

c++ - WSAENOBUFS 和 WSAEWOULDBLOCK 有什么区别?

我尝试在非阻塞套接字上send()一个1.5GB的缓冲区(仅用于测试目的:),但它给了我WSAENOBUFS错误而不是WSAEWOULDBLOCK,这是为什么呢? 最佳答案 WSAEWOULDBLOCK指的是socket发送缓冲区满,具体是指接收端慢,即remotecondition。WSAENOBUFS是指任何其他缓冲区或资源短缺,这是一种本地情况。 关于c++-WSAENOBUFS和WSAEWOULDBLOCK有什么区别?,我们在StackOverflow上找到一个类似的问题:

c++ - 异步,非阻塞套接字行为-WSAEWOULDBLOCK

我继承了两个应用程序,一个在Windows7PC上运行的TestHarness(客户端),另一个在Windows10PC上运行的服务器应用程序。我正在尝试使用TCP/IP套接字在两者之间进行通信。客户端将请求(以XML形式的数据)发送到服务器,然后服务器将请求的数据(也是XML)发送回客户端。设置如下所示:ClientServer----------------------------------------||SendsRequests|||ClientSocket|----------------->|ServerSocket|||此过程始终适用于初始连接(即新启动的客户端和服务器