免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 25343 | 回复: 7

FD_SETSIZE限制是文件描述符的个数还是值? [复制链接]

论坛徽章:
0
发表于 2010-09-25 16:37 |显示全部楼层
RT, 搜索一下发现,都是在说FD_SETSIZE限制了文件描述符的个数。
但是根据fd_set存储文件描述符的原理(可能理解有误),FD_SETSIZE限制的应该是文件描述符的最大值,当然限制了最大值也就限制了个数。
下面一段摘自man select中的原话
"Executing FD_CLR() or FD_SET() with a value of fd that is negative or is equal to  or larger than FD_SETSIZE will result in undefined behavior."

论坛徽章:
0
发表于 2010-09-25 17:00 |显示全部楼层
突破select的FD_SETSIZE限制 - loop_in_codes - C++博客 http://www.cppblog.com/kevinlynx/archive/2008/05/20/50500.html  
关于 select() 时的 FD_SETSIZE 大小限制 http://www.chinaitpower.com/A200507/2005-07-27/176501.html  
我也不懂,给你找了两篇文章看看对你有帮助不?我觉得有EPOLL就没必要研究select等这些IO模型了吧

论坛徽章:
323
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52双子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午马
日期:2013-10-18 21:43:38
发表于 2010-09-25 17:08 |显示全部楼层
本帖最后由 hellioncu 于 2010-09-25 17:10 编辑

是值。
不过在Windows下是个数

论坛徽章:
0
发表于 2010-09-25 17:12 |显示全部楼层
感谢2楼,3楼的回答。
只是想研究一下,按理解来说应该是值,只是不敢确定

论坛徽章:
323
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52双子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午马
日期:2013-10-18 21:43:38
发表于 2010-09-25 17:14 |显示全部楼层
Unix下是用bit位,socket的值做下标。
windows下是socket值的数组,遍历的

论坛徽章:
0
发表于 2010-09-25 21:33 |显示全部楼层
在linux下是值,文件描述符不能大于1024,我有过在这里犯错的经历。当时怎么也找不到原因,后来才想明白的。

http://gcoder.blogbus.com/logs/51716260.html

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2010-09-25 21:36 |显示全部楼层
终于有人问到实质性的问题了, 是值

论坛徽章:
0
发表于 2013-02-28 16:41 |显示全部楼层
关注~~~~~~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP