Вопрос по java, websocket, tomcat, spring, netty – интеграция веб-сокетов с помощью Netty с веб-приложением Spring, запущенным в tomcat

3

У меня есть реализация сервера веб-сокетов, использующая Netty (скажем, прослушивание через порт 8081) и отдельное веб-приложение Spring, работающее в Tomcat (работающее в порту 80).

Я хотел бы как-то перенаправить все запросы, поступающие на localhost: 80 / Websocket, на мой сервер Netty через порт 8081. Возможно ли это вообще. поскольку Tomcat и Spring основаны на протоколе http, подумайте, как это возможно.

Все, что я хотел сделать, это включить push-сервер с помощью веб-сокета из моего существующего весеннего веб-приложения. Какие-либо предложения?

Ваш Ответ

4   ответа
2

вероятно, заключался бы в том, чтобы разместить сервер nginx и направить ему запросы в / Websockets, однако, поскольку Websockets не является протоколом HTTP 1.0, вы не можете использовать обычные директивы ProxyPass, но в соответствииhttp://www.letseehere.com/reverse-proxy-web-sockets это возможно через специальный плагин

Звучит как то, что мне нужно. Я попробую это позже сегодня. Danish Shrestha
1

которые показывают, как настроить netty с помощью Spring. Я сделал это в Grails, когда сервер сокетов netty работает в tomcat, прослушивая определенный порт для двоичных пакетов (не http)

link1 link2

0

и Tomcat (7.0.27)?

Поддержка веб-сокетов в tomcat 7 нестабильна в соответствии с документацией на веб-сайте tomcat 7, что, в свою очередь, связано с тем, что сам протокол веб-сокетов еще не завершен. Увидев это предупреждение, я попробовал сервер Netty websocket, настроенный с использованием Spring в Tomcat, и он работает нормально.
Нет, функция Tomcat не доработана, потому что это прототип, опережающий вероятную реализацию, необходимую для Servlet 3.1, который, вероятно, будет поддерживать WebSockets; Сам протокол был завершен в прошлом году.

Похожие вопросы