我需要知道当使用IOCP时,WSASend()和WSARecv()的错误代码(WSA_IO_PENDING除外)是否意味着套接字断开了。大多数错误代码都是显而易见的,但我不确定以下几点:
WSASend()的错误代码:
WSAEINPROGRESSWSAENOBUFSWSA_OPERATION_ABORTEDWSARecv()的错误代码:
WSAEFAULTWSAEINPROGRESS发布于 2015-03-08 11:58:44
答案
不,并不是所有的错误代码都是因为断开的套接字。
精化
事实上,我不知道如何回答这个问题,而不喊“不,读文件!”
例如,WSAEINPROGRESS意味着正在进行另一个阻塞操作,因此当前的阻塞操作因此被中止。
WSAEINPROGRESS- 10036 行动正在进行中。 目前正在执行阻塞操作。Windows套接字只允许单个阻塞操作(每个任务或线程)未执行,如果进行任何其他函数调用(无论它是否引用该套接字或任何其他套接字),该函数将因WSAEINPROGRESS错误而失败。
https://stackoverflow.com/questions/28926078
复制相似问题