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

标签 c++ windows sockets

我尝试在非阻塞套接字上send() 一个 1.5 GB 的缓冲区(仅用于测试目的:),但它给了我 WSAENOBUFS 错误而不是 WSAEWOULDBLOCK,这是为什么呢?

最佳答案

WSAEWOULDBLOCK指的是socket发送缓冲区满,具体是指接收端慢,即remote condition。

WSAENOBUFS 是指任何其他 缓冲区或资源短缺,这是一种本地情况。

关于c++ - WSAENOBUFS 和 WSAEWOULDBLOCK 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28778413/

相关文章:

regex - 如何使用 powershell 从我的文件名中删除多余的空格?

c - tcp 服务器未从accept() 返回

c++ - 为什么允许我使用不完整的枚举类?

c++ - 为什么 std::inserter 这么慢?

Python ctypes dll 加载错误 487

windows - 在 VB6 中使用自定义 MouseIcon

c++ - 直接列表初始化编译成功,但是正常的直接初始化失败,为什么?

c++ - linux - 获取进程的pid

python - 在 Python 中使用 select() 方法进行客户端/服务器聊天

c - CentOS 和 Windows 之间关于端口号的不同行为