在Windows使用select模型时,发现当连接数超过64个时,服务端完全接收不到数据,带着疑惑跳转到了fd_set的实现文件。
原来Windows在实现的过程中将fd_set的大小限制成了64个。
而通过观察他的宏定义不难发现我们还是可以修改他的大小的,因为只有FD_SETSIZE没有定义的情况下,Windows才会将FD_SETSIZE的大小设置为64,所以只要我们在之前就将FD_SETSIZE定义一遍就可以突破64个的限制了
不过为什么在修改前当连接数超过64个时会接收不到数据,还望有知道的大佬告知一下!!