我认为答案很大程度上取决于客户将拥有什么样的活动,但我想我想建立一个客户端/服务器架构,只涉及连接和断开连接。
即打开TCP连接并将其维持三个小时。
是否有硬限制(由操作系统或协议等设置)可以同时存在多少可能的连接?
此外,这会对服务器产生什么样的开销?如果10000个客户端使用TCP连接并维持该连接(假设TCP具有自己的keepalive功能)3个小时,服务器是否必须处理除keepalive,连接和断开连接操作之外的任何内容?
答案 0 :(得分:3)
我在这里写了博客:http://www.serverframework.com/asynchronousevents/2010/12/one-million-tcp-connections.html
在Windows上有一些资源限制可能会导致您出现问题,但10,000个连接很容易。事实上,我在规格相当低的VM上运行了超过70,000个连接,详情请参见http://www.lenholgate.com/blog/2005/11/windows-tcpip-server-performance.html。
最有可能的是,您在代码中所做的事情会限制您可以处理的连接数量,现代操作系统将比您的代码更容易处理。