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

バックログに高い値を設定し、実行メソッドを大幅にクリーンアップして、転送部分を最初に実行してから分析を行ったことを共有したかっただけです。ありがとうございます。

于 2013-08-17T14:31:25.407 に答える
0

Runnable のコンストラクターにネットワーク コードが含まれている可能性があります。run()呼び出しているスレッドではなく、独自のスレッドで実行されるようにメソッドに移動しますaccept().

于 2013-08-14T01:58:45.560 に答える