Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/143.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ CAsyncSocket receive()返回值_C++_Mfc_Winsock - Fatal编程技术网

C++ CAsyncSocket receive()返回值

C++ CAsyncSocket receive()返回值,c++,mfc,winsock,C++,Mfc,Winsock,因此,文件中说: Receive返回接收到的字节数。如果连接已关闭,则返回0 考虑到函数没有阻塞,如果没有数据怎么办 如何确定它返回0是因为没有数据还是因为它断开了连接?如果没有数据,函数将永远不会返回0,相反,它将返回SOCKET\u ERROR,带有GetLastError()==WSAEWOULDBLOCK我的意思是如果没有数据,因为没有数据到达,除非您的意思是在这种情况下,即使没有错误,套接字也会返回socket\u ERROR是。如果您使用的是异步套接字,GetLastError()

因此,文件中说:

Receive返回接收到的字节数。如果连接已关闭,则返回0

考虑到函数没有阻塞,如果没有数据怎么办


如何确定它返回0是因为没有数据还是因为它断开了连接?

如果没有数据,函数将永远不会返回0,相反,它将返回
SOCKET\u ERROR
,带有
GetLastError()==WSAEWOULDBLOCK
我的意思是如果没有数据,因为没有数据到达,除非您的意思是在这种情况下,即使没有错误,套接字也会返回socket\u ERROR是。如果您使用的是异步套接字,
GetLastError()==WSAEWOULDBLOCK
实际上不是一个错误。