首页 > 解决方案 > FD_ISSET 没有调用`select`的结果

问题描述

我正在使用 book 学习套接字编程Unix Network Programming。以下是本书中的两段代码:

在此处输入图像描述

在此处输入图像描述

如我们所见,它调用FD_ISSETFD_SET没有调用select它们之间的函数,结果是什么?true如果sockfd是可写的,会是这样吗?

PS:源码http://www.masterraghu.com/subjects/np/introduction/unix_network_programming_v1.3/ch16lev1sec2.html

标签: csocketsnetwork-programming

解决方案


FD_SET只需在位掩码中设置一个位并FD_ISSET检查该位。这些调用不关心该位是否表示文件描述符,它只是一个整数。如果在这些调用之间没有任何操作位掩码(即没有调用select),那么 的结果FD_ISSET准确地反映了用 设置的内容FD_SET


推荐阅读