0

プロキシに接続してから、指定したリモートサーバーに接続するソケットがあります。ただし、プロキシから削除サーバーへの複数の接続が必要です。だから私は同じプロキシに4つのソケットを作成し、4つのソケットからリモートサーバーに接続したいと考えています。

これを行うと機能しません。プロキシに一度だけ接続します。

疑似コードは次のとおりです。

static Socket[] liveCon = new Socket[300];
// This is the class that assigns a proxy and connects
// it is a temporary thread that connects and ends.
sockClass sockets = new sockClass; 

class main {
    for (int i = 0; i < livecon.length; i++) {
        sockets[i].start(); // Thread ends after it is connected
    }
}

class sockClass{
   main.liveCon[index] = new Socket(proxy);
   main.liveCon[index].connect(ep);
   main.liveCon[index].setPerformancePreferences(1, 2, 0);
   if (main.liveCon[index].isConnected() == true) {
       myOutput = new PrintStream(main.liveCon[index].getOutputStream());
       main.liveCon[index].setKeepAlive(true);
   }
}
4

2 に答える 2

0

スレッド化を使用していない場合、ノンブロッキング I/O に移行しない限り、これを正しく行うことはできません。

于 2010-09-23T13:32:54.370 に答える
0

スレッドを使用していないように聞こえますが、代わりにプロキシに順次接続しようとしています。

問題のサンプルを掲載していないため、トラブルシューティングが困難です。

代わりに、プログラムを 4 回実行して、問題がコードにあるのか、それともプロキシ自体にあるのかを確認してください。

これが役立つことを願っています。

于 2010-09-23T04:46:05.507 に答える