【发布时间】:2019-01-16 16:53:56
【问题描述】:
result = ::send(s, buf, length, flag)
最终会发送多少数据?当我得到result == SOCKET_ERROR 和WSAGetLastError () == WSA_IO_PENDING
length 字节的 buf 最终会全部发送吗?
或者我需要再次尝试重新发送相同的 buf 数据?
另一方面
WSA_IO_PENDING
重叠的操作将在稍后完成。
应用程序已启动无法立即完成的重叠操作。稍后将给出完成指示 当操作完成时......
在我看来,发送操作将在稍后完成....
更新:这里提出了进一步的问题 Unexpected WSA_IO_PENDING from blocking (overlapped I/O) Winsock2 calls
【问题讨论】:
-
你应该使用
WSAGetLastError而不是getLastError -
已更正。谢谢。是错字...在代码中确实是 WSAGetLastError
标签: c++ windows sockets winsock2