请问大家:
同时连接同一个socket端口的最大连接数是多少阿?

解决方案 »

  1.   

    socket端口的最大连接数是无法确定的,是要根据不同的机器的内存的使用情况来决定的,一般5-10个是没问题的!
      

  2.   

    我做的程序(完成端口),同时连接同一个socket端口的最大连接数达到20000多。
      

  3.   

    我在XP 512M内存机器上做测试,客户和服务器程序均在一个机器上,服务器端ACCEPT,然后等待客户连接,客户端CONNECT成功后,发送一个简单的数据,最后连接到3900多不到4000就连接不上了,请问这是什么原因,有的人说能连接到5万多,资源能够用吗?我在256M内存和512M内存的机器上测试全是这个结果,到底是什么原因,谢谢高手们了,你是怎么做的能够连接到20000个TCP连接,能否发代码给我看看?
      

  4.   

    TO wj19781215() :
    我做的程序(完成端口),同时连接同一个socket端口的最大连接数达到20000多。
    -------------------------------------------------------------------------我在XP 512M内存机器上做测试,客户和服务器程序均在一个机器上,服务器端ACCEPT,然后等待客户连接,客户端CONNECT成功后,发送一个简单的数据,最后连接到3900多不到4000就连接不上了,请问这是什么原因,有的人说能连接到5万多,资源能够用吗?我在256M内存和512M内存的机器上测试全是这个结果,到底是什么原因,谢谢高手们了,你是怎么做的能够连接到20000个TCP连接,能否发代码给我看看?
      

  5.   

    我在XP 512M内存机器上做测试,客户和服务器程序均在一个机器上,服务器端ACCEPT,然后等待客户连接,客户端CONNECT成功后,发送一个简单的数据,最后连接到3900多不到4000就连接不上了
    ------------------------------------------------------------------------------------
    4000左右?你的机子还能动了吗?这个数值基本到达了上限了。5W个是可以的,那时QQ游戏服务器连接的数量。当然QQ游戏服务器处理连接socket有他的一套算法。TO wj19781215() :
    我做的程序(完成端口),同时连接同一个socket端口的最大连接数达到20000多。
    -------------------------------------------------------------------------2W?真的很高了!我也很了解下采用了什么策略。
    就游戏服务器而言,采用普通的策略算法,一般连接数在4K左右。所以这个2W?真的要研究一下!
      

  6.   

    和操作系统和内存有关
        1.操作系统内核会对一个被动打开(对一个socket句柄调用listen)的套接字建立两个队列,一个队列保存连接未完成的连接(即tcp三路握手还没有完成的连接);一个对列保存tcp三路握手已经完成的队列;
          这个队列由内核入队,由用户进程出队(就是用户进程调用accept函数返回的时候);这两个队列的最大节点数和listen函数(由用户进程指定)的第2个参数有关,在有的tcp实现是这两个队列之和等于listen函数的第2个参数,有的tcp实现是两个队列之和用listen的第2个参数乘以某个数。
          当用户进程两次accept之间,队列数已经达到最大值,这个时候新到的tcp连接,有可能会
    connect超时,所以两次accept调用之间最好什么代码也不要加;
        2.所以说,操作系统对一个监听套接字的连接数是不限制的(除了内存),tcp协议栈只会根据
    用户指定的队列大小来确定是否接受新的连接