apue实例函数的疑问,关于select函数,谢谢

yaya_lucky yaya_lucky 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
select函数返回的是准备好的fd的数量, 如果select函数返回后(假设返回的fd可读), 其中之一的fd没有去read,那么等下一次的select返回后,此fd还会再再被返回可读吗,也就是说是通知一次,还是如果没有read的话持续通知,记得epoll有选项可以调节这种情况,可以通知一次,或者持续通知。 还有感觉这个for循环你关于select返回的处理有问题,
for(;;)
{
if(select() < 0)
log_sys;
if(FD_ISSET(listenfd, &rset))
{
.../* 处理新建连接 */

continue; //感觉此处的continue完全多余, 很有可能既有新连接,又有可读的消息到达。
}

for()
{
/* 处理已建立的连接收到的信息 */
}
}
...全文

相关推荐

评论 2
收藏 已收藏
分享
返回顶部
yaya_lucky
C语言 70,040 成员 243,237 内容