select 有 1024 限制的原因,是因为types.h中设置了#define FD_SETSIZE 1024。
types.h
#define FD_SETSIZE 1024
但是在 linux 系统上面,ulimit -n 查看,maximum number of open file descriptors 是 1024。这个是系统的限制。
那么,在使用 poll 和 epoll 的时候,是不是先要修改系统的这个限制。