Лучший способ уведомить несколько java-апплетов / приложений об изменении на сервере - PullRequest
1 голос
/ 22 декабря 2010

Мне нужно знать лучший (самый быстрый) способ иметь сервер (желательно на основе php, но сервер jsp / servlet можно настроить также с помощью google app engine) уведомить несколько java-апплетов / приложений об изменениипроизошло с данными.

То, как я представляю это для работы, будет очень похоже на то, как я думаю, что онлайн-игра Java (например, Runescape) работает
Пользователь 1 : Изменяет данные на сервере.
Сервер : возвращает успех пользователю 1, уведомляет подключенные компьютеры об изменении.
Подключенный компьютер 1 : обрабатывает изменения, возвращает успех серверу.
Подключенный компьютер 2 : обрабатывает изменения, возвращает успех на сервер.
Подключенный компьютер 3 : обрабатывает изменения, возвращает успех на сервер.
Подключенный компьютер 4 :процессы меняются, возвращает успех на сервер.

Я надеюсь завершить весь этот процесс за полсекунды и не включать опрос, так как в течение долгого времени ничего не произойдет, за которым последует внезапный момент, когда 4 события происходят подряд.

Ответы [ 2 ]

1 голос
/ 23 декабря 2010

Проверьте ICEPush для реализации Java.Мне удалось найти 2 поста, которые демонстрируют, как реализовать подобное в PHP.В обеих публикациях показан клиент AJAX, однако вы можете преобразовать его в простые HTTP-запросы в Java-апплете.По сути, все эти движки делают, чтобы клиент поддерживал HTTP-запрос на сервере, который возвращается, когда сервер имеет информацию для клиентов.По сути, клиент делает запрос к серверу, и если у сервера нет события в очереди для этого клиента, он просто удерживает запрос и спит до тех пор, пока не будет добавлено уведомление в очередь или не истечет тайм-аутВ какой момент сервер возвращает запрос, а клиент анализирует его, и в этот момент он немедленно отправляет серверу другой запрос, и процесс начинается заново.Время ожидания для примеров ICEPush составляет чуть менее 60 секунд.

http://www.zeitoun.net/articles/comet_and_php/start
http://www.webreference.com/programming/javascript/rg28/index.html

1 голос
/ 23 декабря 2010

Если бы это было очень быстро и надежно, я бы вообще не использовал веб-сервер.У меня был бы автономный серверный процесс, и клиенты могли бы устанавливать прямые TCP-соединения с ним.Другие приложения используют push с веб-сервера, но я все еще нахожу это очень ненадежным.Каждому клиенту нужен поток, который блокирует чтение из сокета.Они получат данные немедленно, когда они поступят в клиентскую систему.

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