Связь между двумя клиентами веб-приложения - PullRequest
0 голосов
/ 15 марта 2012

Допустим, я хочу отправить сообщение от одного клиента другому.Как мне подойти к этой проблеме?Очевидно, мне придется отправить это сообщение на сервер, но что дальше?У меня мало идей, но каждая идея кажется неправильной.

спасибо

Ответы [ 4 ]

3 голосов
/ 15 марта 2012
  1. Клиент1 - отправить сообщение для клиента2 на сервер
  2. Клиент2 - проверить любой период времени для сообщений

ИЛИ

  1. Клиент2- Откройте Websocket на сервере.
  2. Клиент1 - отправить сообщение для клиента2 на сервер
  3. Сервер - отправить сообщение клиенту2

Прямое общение клиента с клиентом может быть очень трудным из-за межсетевых экранов клиента.

0 голосов
/ 15 марта 2012

Если под веб-приложением вы имеете в виду HTTP на основе, то вы должны знать, что HTTP - это протокол на основе запросов. Другими словами, сервер отвечает только на HTTP-запросы, которые приходят от клиентов (браузеры, большую часть времени), поэтому после того, как клиент отправляет сообщение, все другие клиенты, которые хотят получить это сообщение, должны его запросить, т.е. запрос к серверу. Как правило, это достигается с помощью автоматически обновляемой HTML-страницы.

0 голосов
/ 15 марта 2012

Вы можете использовать стандартный подход Java JMS для отправки асинхронных сообщений между приложениями. Подробнее на: http://java.sun.com/developer/technicalArticles/Ecommerce/jms/

0 голосов
/ 15 марта 2012

Посмотрите учебник для сокетов в Java

http://docs.oracle.com/javase/tutorial/networking/sockets/

Также вам не обязательно нужен сервер.Вы можете сделать так, чтобы у клиентов был как входящий, так и исходящий канал.

Итак,

Client1 отправляет свой исходящий на входящий Client2

Client2 слышит входящийи отвечает на свой исходящий входящий клиент Client1

Client1 слышит на входящий

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...