У меня есть приложение Java, и я хотел бы предоставить BufferedImage (который обновляется несколько раз в секунду) для веб-клиента.
Я начал с рассмотрения HttpServer (часть JDK).6).Я реализовал HttpHandler, и на дескрипторе (обмен HttpExchange) я беру последний BufferedImage и отправляю его по ссылке на обмен.
Я могу использовать свой веб-браузер для просмотра изображения, отправленного через обмени когда я обновляю браузер, я могу наблюдать за обновлением изображения (поскольку мое приложение обновляет BufferedImage).
Для следующего шага я хотел бы постоянно обновлять изображение в браузере (без необходимости обновления вручнуювеб-страница).Кажется, что HttpServer со связанным HttpHandler на самом деле не настроен для этого (просто одноразовый запрос / ответ).Я начал читать о сервлетах и изучаю использование Jetty.
Я хотел бы знать, нахожусь ли я на правильном пути в поиске сервлетов, или есть ли способ "управлять" BufferedImageобновления для веб-клиента, который подключился к моему HttpServer?
Заранее спасибо.
Удар по фрагменту кода для моего метода дескриптора:
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
}