Jetty: как получить небуферизованный InputStream или Reader из запроса (для «потоковой передачи» событий через HTTP)? - PullRequest
0 голосов
/ 01 февраля 2012

Я экспериментирую с отправкой событий по установленному HTTP-соединению.

Он работает, когда выполняется "потоковая передача событий" с сервера на HttpServletResponse сервера: путем установки размера буфера клиента оченьнебольшое значение, и периодически HttpServletResponse.flushBuffer() на стороне сервера.

works:
1) [client] --> (usual GET request) --> [server]
2) [client] <-- event...pause...event...pause...event <-- [server]

Однако другое направление не работает: я не могу повлиять на размер буфера для HttpServletRequest (чтобы иметь возможность "поток"события »во время запроса клиента).

doesn't work:
1) [client] --> event...pause...event...pause...event --> [server]

Существуют ли способы взаимодействия с запросами / ответами ниже абстракции сервлета, чтобы иметь возможность достичь моей цели?

(При использовании обычных сервлетов я имею дело с уже сконструированными запросами, где размер буфера задан заранее.)

Есть еще мысли?

1 Ответ

0 голосов
/ 01 февраля 2012

Я думаю, вы хотите что-то похожее WebSocket .
WebSocket - это веб-технология, обеспечивающая двунаправленные полнодуплексные каналы связи по одному протоколу управления передачей (TCP).

...