每当我在C中看到select
来电时,我都会将其视为:
select(sock_fd + 1, &fdset, NULL, NULL, &tv)
或类似的东西。递增文件描述符的意义是什么?
答案 0 :(得分:4)
来自POSIX specification of select
:
nfds
参数指定要测试的描述符范围。应在每组中检查第一个nfds
描述符;也就是说,应该检查描述符集中从零到nfds-1
的描述符。
也就是说,你给出了集合的 size ,其中每个描述符都是索引。
描述符集基本上实现为数组,sock_fd
(在您的情况下)是索引到该数组中,而sock_fd + 1
是 size 要检查的数组的em>。