私は Java アプリケーションを持っており、(1 秒間に数回更新される) BufferedImage を Web クライアントに提供したいと考えています。
私は HttpServer (JDK 6 の一部) を調べることから始めました。HttpHandler を実装し、handle(HttpExchange exchange) 呼び出しで最新の BufferedImage を取得し、exchange 参照を使用して送信します。
Exchange 経由で送信された画像を Web ブラウザーを使用して表示できます。ブラウザーを更新すると、画像の更新を観察できます (アプリケーションが BufferedImage を更新しているため)。
次のステップとして、ブラウザーの画像を継続的に更新したいと思います (Web ページを手動で更新する必要はありません)。関連付けられた HttpHandler を持つ HttpServer は、実際にはこれを行うように設定されていないようです (1 回限りの要求/応答)。サーブレットについて読み始め、Jetty の使用を検討しています。
サーブレットを調べて正しい軌道に乗っているかどうか、または HttpServer に接続している Web クライアントに BufferedImage の更新を「駆動」する方法があるかどうかを知りたいですか?
前もって感謝します。
私のハンドルメソッドのコードスニペットブロー:
public void handle(HttpExchange exch) throws IOException {
BufferedImage image = fImageProvider.getLatestImage();
ByteArrayOutputStream output = new ByteArrayOutputStream(SIZE);
ImageIO.write(image, IMAGE_CODEC, output);
byte[] byteArray = output.toByteArray();
exch.sendResponseHeaders(HttpURLConnection.HTTP_OK, byteArray.length);
exch.getResponseBody().write(byteArray);
exch.close
}