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