socket服务器,最多支持多少路socket连接
1.一个服务器程序,接受客户端的socket tcp连接,客户端程序建立socket connect到这个服务器,但是建立到32300路的时候,服务器就拒绝了,返回socket error 10061错误。我的理解,accept后分配一个临时socket(当然有个端口号)跟客户端通信,分配不出来了就拒绝了。求解原理 socket? server client
[解决办法]
我理解的跟你想的差不多
[解决办法]
看看规范上是怎么定义的.
[解决办法]
应该来说,windows server下开发的socket server,连接的并发数,可以达到6000应该没问题。一般连接不上,还在于accept之后,程序如何处理和接受。当然响应客户端连接请求和并发接受客户端的传输请求,承载能力不是一个概念。大量的连接请求要及时响应,然后传输分派到其他空闲的cluster server上。
你们的服务器3000多就不行了,可能性在于,你们在同一个服务器上同时处理大量并发连接,和并发传输。
最好的做法,就是使用小规模集群设计。一个服务器作为连接服务器,接受连接之后,响应客户端,通知客户端,并分配给这个链接一个空闲的接收服务进程,或者空闲的服务器,作为数据处理。
接收服务器只管响应连接和load balance的协调,这样的设计足以响应上万的请求。
你们的需求规模达到这个瓶颈,就必须考虑集群和load balance的问题