我想使用 select 调用从我的写入套接字 fd 发送()数据。我将使用非阻塞套接字实现。哪个实现更好。
while(u4BytesSent < u2BufLen)
{
i4RetVal = send(sockFd, au1Buf + u4BytesSent, (u2BufLen - u4BytesSent));
if(i4RestVal == -1 && errno != EWOULDBLOCK)
{
break;
}
i4BytesSent = i4BytesSent + i4RetVal;
}
如果发送缓冲区频繁变满,这段代码会占用 CPU 吗?
或者
使用具有无限超时的 Select 调用。 select() 在 CPU 占用等情况下会有更好的性能吗?