c - FD_ISSET 没有调用`select`的结果
问题描述
我正在使用 book 学习套接字编程Unix Network Programming
。以下是本书中的两段代码:
如我们所见,它调用FD_ISSET
后FD_SET
没有调用select
它们之间的函数,结果是什么?true
如果sockfd
是可写的,会是这样吗?
PS:源码http://www.masterraghu.com/subjects/np/introduction/unix_network_programming_v1.3/ch16lev1sec2.html
解决方案
FD_SET
只需在位掩码中设置一个位并FD_ISSET
检查该位。这些调用不关心该位是否表示文件描述符,它只是一个整数。如果在这些调用之间没有任何操作位掩码(即没有调用select
),那么 的结果FD_ISSET
准确地反映了用 设置的内容FD_SET
。
推荐阅读
- python - 格式化python defaultdict结果并转换为字符串
- c - 为什么我没有被要求 [i] 次输入字符串?
- javascript - 无法将值放入sql表
- flutter - Dart 中的自动填充类变量
- javascript - 文档 execCommand 没有按预期工作
- javascript - (SDFC)登录验证导致现有用户出错,可能的解决方案?
- windows - 在公司 VM Window 10 上安装 Anaconda 时出现问题
- sql - 填空时间序列数据
- angular - Angular防止取消表单自动保存
- swift - 为什么在 UITapGestureRecognizer 之后调用 touchesCancelled?