2

プロキシ サーバーとして機能するプログラムを作成しようとしています。プロキシ サーバーは、基本的に特定のポート (7575) をリッスンし、要求をサーバーに送信します。今のところ、レスポンスのキャッシュは実装していません。

コードは次のようになります

ServerSocket socket = new ServerSocket(7575);   
Socket clientSocket = socket.accept(); 
clientRequestHandler(clientSocket);

上記のコードを次のように変更しました。 //別のメソッド内から同じ clientRequestHandler メソッドを呼び出す。

Socket clientSocket = socket.accept();
Thread serverThread = new Thread(new ConnectionHandler(client));
serverThread.start();

class ConnectionHandler implements Runnable {
    Socket clientSocket = null;
    ConnectionHandler(Socket client){
        this.clientSocket = client;
    }
    @Override
    public void run () {
        try {
            PrxyServer.clientRequestHandler(clientSocket);
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

}

コードを使用して、Google のような Web ページを開くことができます。ただし、最初の応答を完全に受信したにもかかわらず、別の Web ページを開くと、ピアの期待によって接続がリセットされます。

1. この問題を処理するにはどうすればよいですか? スレッドを使用してさまざまな要求を処理できますか? スレッドを実装するサンプルコードを探す場所を誰かが参照できますか。

4

0 に答える 0