这个问题与udp socket 的 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
吗?