4

我有一个使用 LDAP 并使用 Sun 的 jndi 库以服务器客户端方式进行通信的应用程序。问题是,当尝试一次建立许多连接时,我看到很多失败的连接,因为绑定响应没有在所需的时间间隔内发送。有没有办法增强这个?一次有超过 200 个连接并不罕见。一切正常,直到大约 60 个连接,然后它变得太慢。

PS不可能增加等待时间。

每个连接都在一个单独的线程中运行,如下所示:

    ...
    serverSocket = new ServerSocket(port);
    infinite loop:
    newSocket = serverSocket.accept();
    newSocket.setTcpNoDelay(true);
    Thread t = new Thread(/*runnable that does something*/);
    t.start();

谢谢!

4

2 回答 2

1

只是想和大家分享一下,我为 backlog 设置了更高的值,并且我也清理了很多 run 方法,使传输部分首先执行,然后进行分析。谢谢四爷的帮助。

于 2013-08-17T14:31:25.407 回答
0

您可能在 Runnable 的构造函数中有网络代码。将其移动到run()方法中,以便它在自己的线程中运行,而不是在调用的线程中运行accept().

于 2013-08-14T01:58:45.560 回答