私は現在、ブラウザからhttpリクエストを受け取り、それを処理してから、目的のWebサーバーに転送する単純なプロキシサーバーに取り組んでいます。
ブラウザによって接続されたソケットの入力ストリームからリクエストを取得しようとしましたが、データの最後のブロックを受信した後にストリームがスタックすることを除いて、すべて問題ありません。
以下に示すように、私のコードは実際には非常に単純です。
ServerSocket servSocket = new ServerSocket(8282);
Socket workSocket = servSocket.accept();
InputStream inStream = workSocket.getInputStream();
byte[] buffer = new byte[1024];
int numberRead = 0;
while ((numberRead = inStream.read(buffer, 0, 1024)) != -1){
System.out.println(new String(buffer));
}
リクエストの受信が終了しても、ループから抜け出すことはできません。
この問題を回避する方法はありますか?
アドバイスをよろしくお願いします。