客户端可以与服务器 IP 建立的最大活动连接数是多少? (联网)
What is the maximum number of active connections a client can have to a server IP? (networking)
我了解到,如果一台机器向同一目标 IP 和同一目标端口发出 2 个请求,则源端口必须不同。但如果是这种情况,则客户端与服务器之间的活动连接数必须有最大限制。此类连接的数量是否有限制?
一个端口是16位,所以绝对限制是216.
当然,端口 0 并没有真正使用过,端口 1 到 1023 显然是为服务器保留的。另外,在大多数情况下,您可以使用 有限 范围的端口作为客户端进行连接。这些称为临时端口,介于 49152 和 65535 之间。
数字49152是0xC000。因此,您获得了客户端可用端口的前四分之一或 16384 个端口 (214)。这是您作为客户的极限。
请注意,内存也是必需的。或多或少取决于您的应用程序,但内核也需要足够的内存来分配这么多端口。所以你更有可能 运行 在你可以分配那么多端口之前内存不足(除非像我一样,你有一台 RAM 为 512Mb 或更多的计算机......那么你将很难承受压力大多数情况下的内存分配)。
在实际使用中,我从来没有运行出客户端端口。我 运行 遇到的主要问题是多个应用程序试图监听同一个端口(例如,两台服务器试图监听端口 80)。
我了解到,如果一台机器向同一目标 IP 和同一目标端口发出 2 个请求,则源端口必须不同。但如果是这种情况,则客户端与服务器之间的活动连接数必须有最大限制。此类连接的数量是否有限制?
一个端口是16位,所以绝对限制是216.
当然,端口 0 并没有真正使用过,端口 1 到 1023 显然是为服务器保留的。另外,在大多数情况下,您可以使用 有限 范围的端口作为客户端进行连接。这些称为临时端口,介于 49152 和 65535 之间。
数字49152是0xC000。因此,您获得了客户端可用端口的前四分之一或 16384 个端口 (214)。这是您作为客户的极限。
请注意,内存也是必需的。或多或少取决于您的应用程序,但内核也需要足够的内存来分配这么多端口。所以你更有可能 运行 在你可以分配那么多端口之前内存不足(除非像我一样,你有一台 RAM 为 512Mb 或更多的计算机......那么你将很难承受压力大多数情况下的内存分配)。
在实际使用中,我从来没有运行出客户端端口。我 运行 遇到的主要问题是多个应用程序试图监听同一个端口(例如,两台服务器试图监听端口 80)。