ServerSocket的问题
突然想起了一个问题,就是ServerSocket能支持多少个连接?1000?10 000?100 000?
------解决方案--------------------要看操作系统的限制。
------解决方案--------------------估计是有限制的
------解决方案--------------------客户端的连接的连接请求由操作系统存储在一个先进先出的队列中,这个队列的最大长度由操作系统限定,一般为50.
当队列中的连接请求达到队列的最大容量时,服务器主机会拒绝新的连接请求。
------解决方案--------------------windows为了防止被病毒感染后成为攻击源,故限定了(1)client只能有5000个连接;(2)任何一个socket连接close后,不会释放给其他用,要等120秒(有些os,如NT,限定为240秒)。这样,每秒最大发出请求就只有 5000 / 120 = 40 /s。
见附件说明(从Microsoft网站的资料)。
要修改windows注册表(!注意要先备份!),将连接数改为65000,释放等待时间为30秒(不能再降低,因为socket协议要求),这样每秒就可达 65000/30 = 2100。
即每秒可以有2100个连接!
以上是我们老总的答案!!!测试得出是正确的!
------解决方案--------------------了解一下了.
------解决方案--------------------学习
------解决方案--------------------高手 谢了
------解决方案--------------------在指定的端口上,只能有一个ServerSocket进行监听,但是可以与多个客户端进行连接。
------解决方案--------------------取决于你的操作系统,不同操作系统默认最大连接数是不同的,当然,操作系统的最大连接数是可以改的!
------解决方案--------------------