この質問は、udp ソケットの FIONREAD は何を返しますか? に関連しています。
Macで次のコードを使用しようとしました:
if( ioctl(socketId, FIONREAD, &totalPending) == -1 )
{
printf("%d", totalPending);
}
numBytesRecv = recvfrom(socketId, buffer, maxLen, 0, socketAddress, &socketAddressLen);
すべての呼び出しでnumBytesRecv != 0
、numBytesRecv == totalPending - 16
なぜこれが起こるのか説明してもらえますか?この戻り値は正しいですか? numBytesRecv == totalPending - 16
はいの場合、すべての値について仮定してもnumBytesRecv != 0
よろしいですか?