解决方案 »

  1.   

    如果用select模型,则要使用到fd_set结构体,其中的SOCKET数组长度是64个,如果要支持10000个,则要进行扩展。typedef struct fd_set {
            u_int fd_count;               /* how many are SET? */
            SOCKET  fd_array[FD_SETSIZE];   /* an array of SOCKETs */
    } fd_set;
      

  2.   

    这么多长连接,还是直接看IOCP吧--------------------------------------
    假若一个应用程序同时需要管理为数众多的套接字,那么采用这种模型,往往可以达到最佳的系统性能!但不幸的是,该模型只适用于Windows NT和Windows 2000操作系统。因其设计的复杂性,只有在你的应用程序需要同时管理数百乃至上千个套接字的时候,而且希望随着系统内安装的CPU数量的增多,应用程序的性能也可以线性提升,才应考虑采用“完成端口”模型。要记住的一个基本准则是,假如要为Windows NT或Windows 2000开发高性能的服务器应用,同时希望为大量套接字I/O请求提供服务(Web服务器便是这方面的典型例子),那么I/O完成端口模型便是最佳选择!(节选自《Windows网络编程》第八章)
    --------------------------------------
      

  3.   


    恩,已经决定采用IOCP了,我用的事件选择模型,发现客户端发送的数据已经到达服务器,但是服务器没有响应