次のコードを使用してソケットからデータを取得しています
iResult = recv(Socket,data_array,sizeof(data_array),0);
ドキュメントには、recv が成功した場合は no が返されると記載されています。そうしないと、エラー コードが返されます。そのエラーコードを確認するにはどうすればよいですか。つまり、取得したデータがエラー コードの値と同じ量である場合はどうなるでしょうか。
詳細については、このリンクを確認してください。
基本的に、エラーが発生するとSOCKET_ERROR
(-1) が返されるため、特定のエラー コードを取得するには、 を呼び出すか、プラットフォーム固有の同等のものをWSAGetLastError()
読み取る必要があります。errno
ドキュメントには、recv が成功した場合は no が返されると記載されています。そうしないと、エラー コードが返されます。
いいえ、それはまったく言いません。もう一度読んでください。成功した場合は転送されたバイト数を返し、それ以外の場合は、または Windows で-1
使用可能なエラーを返します。errno,
WSAGetLastError().
そのエラーコードを確認するにはどうすればよいですか。つまり、取得したデータがエラー コードの値と同じ量である場合はどうなるでしょうか。
-1 バイトは転送できません。あいまいさはありません。