0

我正在使用以下代码从套接字中检索数据

iResult =  recv(Socket,data_array,sizeof(data_array),0);

现在文档指出,如果 recv 成功,它将返回否。检索到的字节数,否则它将返回错误代码。如何检查该错误代码。我的意思是,如果检索到的数据与错误代码的值相同,该怎么办。

4

3 回答 3

3

如果返回值为负数(即 SOCKET_ERROR 或 -1),那就是错误。

于 2013-08-12T18:41:21.347 回答
2

检查此链接以获取更多详细信息。

基本上,当发生错误时,SOCKET_ERROR会返回 (-1),然后您必须调用WSAGetLastError()或 readerrno或其他特定于平台的等效项来获取特定的错误代码。

于 2013-08-12T19:53:58.717 回答
0

现在文档指出,如果 recv 成功,它将返回否。检索到的字节数,否则它将返回错误代码。

不,它根本没有这么说。再读一遍。它表示如果成功则返回传输的字节数,否则-1errno,在 Windows 中或通过WSAGetLastError().

如何检查该错误代码。我的意思是,如果检索到的数据与错误代码的值相同,该怎么办。

您不能传输 -1 字节。没有歧义。

于 2013-08-13T01:59:21.557 回答