Как лучше реализовать чат клиент-сервер на java websocket?

Дело в том, что сначало я просто написал многопоточный чат на стандартных java сокетах(серверные сокеты) ну и клиент для проверки консольный, Но когда понадобилось написать веб клиент понял что нужны веб сокеты. Так вот теперь я решил переписать на веб сокеты. Пока думаю использовать эти технологии
Сервер:
-java (web socket)
-tomcat 7
-postgresql
-maven
Клиент:
-JavaScript: AngularJS, и возможно jQuery

Только вот пока не знаю как реализовывать web socketы на сервере, может есть какие-нибудь примеры и какую библиотеку использовать для веб сокетов, ибо я посмотрел и их не мало.
  • Вопрос задан
  • 8015 просмотров
Пригласить эксперта
Ответы на вопрос 5
@bromzh
Drugs-driven development
В качестве клиента лучше брать SockJS, потому что он куда более гибкий: автоматом заменяет вебсокеты на поддерживаемую браузером технологию (лонг-поллинг, флэш, загрузка файлов и т.д.), автоматом меняет порты, если нужные не могут использоваться. При этом, делает он всё это прозрачно, код обмена сообщениями будет точно такой же, как в случае с обычными вебсокетами.

Эту либу точно поддерживает SpringFramework. На счёт чистой Java EE не знаю. Поэтому, у тебя 2 варианта: использовать вебсокеты от спринга, а в остальном юзать Java EE фичи, вроде как есть много туторов, как скрестить EJB и Spring. Ну или используй полностью Спринг заместо Java EE.

А если ты точно знаешь, какой браузер будет у пользователей, то можно и на чистых вебсокетах и Java EE замутить всё.

P.S. Не используй томкат, бери полнофункциональные сервера: Glassfish 4 или WildFly 8 (бывший JBoss).
Ответ написан
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
Клиент socket.io
Сервер https://github.com/mrniko/netty-socketio

А еще можно ничего не переписывать и использовать flash на клиенте, он может в обычным сокетам коннектиться.
Ответ написан
@ponkin
Мои 5 копеек:
Можно использовать вместо tomcat Jetty.
Ответ написан
Комментировать
@SergTito
На самом деле все подобные вопросы несколько раз уже обсуждались тут t.me/springframeworkio
Ответ написан
Комментировать
FanKiLL
@FanKiLL
netty.io Мы писали в своё время на нём сервер с webcosket's
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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