繁体   English   中英

从 fd_set c++ linux 获取 x 处的文件描述符

[英]get file descriptor at x from fd_set c++ linux

我知道在 Windows 上您可以通过执行 myfd_set.fd_array[x] 来获取文件描述符,但是当我尝试在 Linux 上执行此操作时,它不起作用。 我该怎么做才能获得文件描述符?

POSIX 没有定义宏来执行您的要求。

您在 Windows 上使用的技术是可行的,因为描述符集的结构记录在该平台上,因此您可以可靠地访问其内部结构。

通常,您不需要此功能。 我认为我从未见过需要在FD_SET获取第n描述符的轮询循环。 通常,您将 FD 添加到一个集合中,将其传递给select ,然后 - 循环返回您的描述符 - 使用FD_ISSET查看该文件是否有任何活动。 或者,更好的是,使用pollepoll来获得更高效和可扩展的方法。

我建议您尝试将代码重新构建为更常见的模式,以消除您的要求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM