我用的库是unix下也可以用的,win上的FD_SETSIZE似乎只有64,怎么改变它的值?比如让它增加到1024,或2048

解决方案 »

  1.   

    好象unix下监听用户数大些,比win下的大
      但如果增加还没有试过
    帮你顶
      

  2.   

    谢谢CsLover(执迷者) ,那如果是在linux下呢?要怎么修改?
      

  3.   

    FD_SETSIZE as a particular value has no effect on the actual number of sockets provided by a Windows Sockets service provider.对于linux,你用命令ulimit -a看看限制是多少,硬设置通过命令可以修改,程序通过getrlimit可以修改
      

  4.   

    在WINSOCK2.H中定义FD_SETSIZE为64,你在包含WINSOCK2.H之前,#define FD_SETSIZE 1024
      

  5.   

    #ifdef FD_SIZE
    #undef FD_SIZE
    #define FD_SIZE 2048
    #include <winsock2.h>
    可能是这样写的吧。
      

  6.   

    Linux下的宏定义可能在in/in.h里面吧 或是socket/socket.h
    find一下 应该有的!
    原理一样的
      

  7.   

    to flybusflybus(风)
    谢谢,你的这段话:
    FD_SETSIZE as a particular value has no effect on the actual number of sockets provided by a Windows Sockets service provider.
    的意思是说FD_SETSIZE在wndows上没有意义吗?那就是说根本没有必要修改了?!
      
    getrlimit可以修改linux的得fd_setsize的话,要怎么修改,那其他人说的方法还有用吗?
      

  8.   

    Also, the underlying provider imposes an arbitrary maximum fd_set size, which typically is 1024 but is not guaranteed to be.
      

  9.   

    #ifdef FD_SIZE
    #undef FD_SIZE
    #define FD_SIZE 2048
    #include <winsock2.h>
    可能是这样写的吧。
    //=====================================================
    好象有最大限制,至于修改数量后能不能运行我还不知道,
    如果真是很多客户可以考虑用多线埕
      

  10.   

    好久没来,不好意思to gdy119(中国制造) 
    难道多线埕就不用FD_SETSIZE,哈哈
      

  11.   

    不能改的。除非你编译内核。可以用poll
      

  12.   

    to sharkhuang(爱情和程序都读不懂) :不能改是指linux还是windows?
    还是两者都不行啊?