OutputStream
サーブレットを使用せずにブラウザに直接バイト配列を書き込もうとしています。
それを行うJava APIはありますか?
ServerSocket
( http://docs.oracle.com/javase/1.4.2/docs/api/java/net/ServerSocket.html )を使用してポート80でリッスンします。
リクエストが来るとaccept()
、結果Socket
のgetInputStream()
とgetOutputStream()
メソッドを使用してストリーム オブジェクトを取得し、データ転送を処理します。
次に、 で受信したリクエストを解析し、を介しInputStream
て応答 ( HTTP ヘッダーを含む!!! ) を送信しますOutputStream
。次に、接続を閉じて完了です。
パフォーマンスに影響を与えずに多くの同時リクエストを実際に処理できるサーバーを作成する必要がある場合は、Java の NIO フレームワークを確認する必要があります。スケーラブルなパフォーマンスが問題になる場合は、接続ごとに 1 つのスレッドを使用しないでください。