TCP连接的最大数目

Maximum number of TCP connections

本文关键字:最大数 连接 TCP      更新时间:2023-10-16

我正在进行TCP客户端-服务器模拟。在模拟中,我创建了2个客户端和2个服务器。我已经编程,读请求将进入服务器1,写请求将进入到服务器2。因此,客户端将始终续订其套接字,并与服务器建立新的连接。

然而,在客户端与服务器进行了66561次连接后,它不会发送请求数据包,而是简单地发送一些空的ACK数据包。

我希望这两个客户端都能发送数百万个请求,但目前,这两个客户都只能发送13000个请求。有人能给我建议吗?

Nagle算法

解决方案:

  • 不要在应用程序协议中使用小程序包
  • 在客户端/服务器两侧使用套接字选项TCP_NODELAY

听起来大多数以前创建的连接仍在占用资源(未从系统中释放)。根据您提供的信息,

然而,在客户端与服务器进行了66561次连接后,它不会发送请求数据包,而是简单地发送一些空的ACK数据包。

看起来大约有1000多个连接已释放。可能是因为2msl时间到期了。如果是这种情况,建议您在创建新连接之前明确释放连接。

复制并粘贴您的C/S部件代码将有助于分析。