gpt4 book ai didi

c - select() 函数的第一个参数到底是什么

转载 作者:太空宇宙 更新时间:2023-11-04 04:16:48 25 4
gpt4 key购买 nike

我不太明白 select 函数中第一个参数的用途。 Wikipedia将其描述为所有集合中的最大文件描述符加 1 。为什么 +1 以及为什么 select 需要此信息?

最佳答案

在 *Nix 系统中,文件描述符只是系统表的索引,fd_set 结构包含与这些索引对应的位掩码。当一个描述符被添加到一个fd_set时,相应的位被启用。 select() 需要知道最高的描述符值,以便它可以遍历这些位并知道在哪一个停止。

在 Windows 上,套接字由内核对象的句柄表示,而不是由索引表示。 fd_set 结构包含套接字句柄数组和数组中套接字数的计数器。这样,select() 就可以遍历数组,因此 select() 的第一个参数在 Windows 上会被忽略。

关于c - select() 函数的第一个参数到底是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51111259/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com