我想答案在很大程度上取决于客户将进行什么样的事件,但假设我想制作一个客户端/服务器架构,它只涉及连接和断开连接。
也就是说,打开一个 TCP 连接并保持它,比如说,三个小时。
对于一次可以有多少个可能的连接是否有硬性限制(由操作系统或协议(protocol)等设置)?
此外,这会对服务器产生哪些开销?如果 10000 个客户端将使用 TCP 连接并保持该连接(假设 TCP 具有自己的保活功能)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了解详情。
很可能是您在代码中所做的限制了您可以处理的连接数,现代操作系统将很容易处理比您在代码中可以处理的更多连接数。
关于architecture - 服务器一次可以处理多少个客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5055832/