1

在我们的应用程序中,我们有一个标准的 TCP/IP 服务器套接字编程来允许客户端连接到服务器。

我注意到的是在一定数量的连接之后,客户端无法打开与服务器的新连接。我遇到问题的数字是 946 客户端连接。之后我在客户端收到连接被拒绝错误。

服务器在 Linux 机器(64 位)中运行。服务器仍在运行,没有内存不足错误。

我没有看到积压的问题,因为我只有一个客户端循环并打开新连接并将其放入数组中。

我正在对客户端可以打开到服务器的最大连接数以及如何最大化它们进行压力测试。

有什么想法吗?

编辑 1: 服务器未在我尝试连接的端口上侦听。在服务器上我得到以下错误。

'08:10:41:055 [*] [TcpServer] - java.net.SocketException: Too many open files <stack trace follows>
08:10:41:055 [*] [TcpServer] - at java.net.PlainSocketImpl.socketAccept(Native Method)
08:10:41:055 [*] [TcpServer] - at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:398)
08:10:41:055 [*] [TcpServer] - at java.net.ServerSocket.implAccept(ServerSocket.java:522)
08:10:41:055 [*] [TcpServer] - at sun.security.ssl.SSLServerSocketImpl.accept(SSLServerSocketImpl.java:317)

我增加了这里提到的文件限制。这解决了这个问题。

4

0 回答 0