在我们的应用程序中,我们有一个标准的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)
我提到了here提到的文件限制。这解决了这个问题。