too many file descriptor in select()!!!请帮忙,很急

too many file descriptor in select()!!!请帮忙,很急

我在做一个网络测试工具,几百的线程并发,大部分时候会出现这个错误,请问怎么改max fd?
谢谢了

还有,本人有programming python 3rd电子版,有要的兄弟,提供10M的空间,我上传
今天频繁的出现这个问题,前几天我并发500左右的thread/socket都没有问题,今天并发200就报这个错误了,socket我有close(),没修改什么代码,实在想不出为什么,关于这方面的资料也没有翻到,请大家帮帮忙
thread还用select。看来你的架构很特别阿:)
我也曾经用过这样的架构,若干个thread,每个thread管理一些socket,用epoll来触发通讯/
windows select/linux poll 确实如楼上的兄弟说的,一个thread管理N个robot/socket,现在上百的并发,大多时会报too many fd的错误了,还未解决,只能每次多启动几个进程来回避一下,但这样操作还是太累

select的确只能支持很少的文件描述符,linux下应该是1024个吧。要扩充就要重新编译内核。所以还是建议你用epoll
嗯,谢谢楼上的兄弟

主要是不知道python如何修改FD_SETSIZE,select只支持512 fd,我自己用linux/epoll倒是没关系的,hard limit我都改写为8192的,只是我写的这个东西还要给tester,他们可能会run在windows上的,那时候用到select就受限制了