我正在使用以下代码从套接字中检索数据
iResult = recv(Socket,data_array,sizeof(data_array),0);
现在文档说明如果recv成功,它将返回no。检索到的字节数,否则将返回错误代码。如何检查该错误代码。我的意思是如果检索到的数据量与错误代码的值相同。
答案 0 :(得分:3)
如果返回值为负(即SOCKET_ERROR或-1),那就是错误。
答案 1 :(得分:2)
检查this link以获取更多详细信息。
基本上,当发生错误时,会返回SOCKET_ERROR
( - 1),然后您必须调用WSAGetLastError()
,或者读取errno
或其他特定于平台的等效项,以获取具体的错误代码。
答案 2 :(得分:0)
现在文档说明如果recv成功,它将返回no。检索到的字节数,否则会返回错误代码。
不,它根本没有说。再读一遍。它表示如果成功则返回传输的字节数,否则-1
,errno,
或Windows中WSAGetLastError().
或
如何检查该错误代码。我的意思是如果检索到的数据量与错误代码的值相同。
您无法传输-1个字节。没有歧义。