首页 文章

为什么服务器可以支持超过65,536个客户端? [重复]

提问于
浏览
3

这个问题在这里已有答案:

让我说一下我要问的一些背景,说清楚:
在通过Internet进行服务器 - 客户端TCP通信的上下文中,当服务器进程正在运行时,客户端进程可以启动到服务器的TCP连接 . 它通过启动三次握手来实现 .
在握手阶段结束时, accept() 函数(在服务器端的 welcoming socket 上调用)将设置一个 new 套接字 - 一个 connection socket - 专用于新的传入客户端连接 .
从现在开始,直到此连接终止,服务器将通过连接套接字与客户端通信 .

由于每个客户端都获得一个连接套接字,并且服务器上的TCP套接字由四元组(src IP地址,src端口号,dest IP地址,dest端口号)唯一标识,并且端口号是16位数字,那么服务器如何支持超过65,536个客户端(好吧,65,536减去预留的客户端)?

1 回答

  • 2

    除了客户端端口之外,元组还有三个其他成员 . 如果其中一个变化,则可能发生连接 . 通常,客户端端口和IP将变化到足以允许服务器使用一个IP和一个端口 . 如果需要,服务器可以使用多个IP和多个端口,很难 .

相关问题