Лучшая технология Comet / Push для сервера Java / Tomcat? - PullRequest
3 голосов
/ 07 ноября 2011

В настоящее время я работаю над веб-приложением, которому может потребоваться «передать» информацию клиенту, и мне было интересно, как лучше всего реализовать это в среде Java / Tomcat.Я посмотрел на веб-сокеты, но кажется, что поддержка браузера все еще не хватает.В настоящее время я смотрю на интерфейс org.apache.catalina.CometProcessor, но я хотел бы знать, есть ли у кого-нибудь хорошие рекомендации.Спасибо

Ответы [ 2 ]

1 голос
/ 07 ноября 2011

вы рассматривали ледяные лица?

http://www.icefaces.org/main/ajax-java/ajaxpush.iface

0 голосов
/ 07 ноября 2011

Подобную проблему нужно было решить в среде Javascript / Java (без Tomcat).Я использовал длинные опросы в качестве базовой технологии.

  • Клиент опрашивает сервер
  • Сервер удерживает соединение в течение максимального количества времени (в моем случае 20 секунд)
    • Если событие запускается на стороне сервера, все обработчики клиентских подключений уведомляются (сообщение отправляется клиенту), и длинный опрос заканчивается
    • Если ничего не происходит, длинный опрос заканчивается пустымсообщение
  • После того, как длинное соединение опроса установлено, оно запускается снова.

В моем случае мне пришлось позаботиться о некоторых прокси, у которых были проблемы с длиннымоткрыл http соединения без передачи данных.Поэтому я выбираю 20 секунд в качестве максимального количества времени, чтобы сохранить http-передачу открытой.В сочетании с http keep-alive вы также можете уменьшить количество соединений, открываемых одним клиентом во время опроса.

Надеюсь, это поможет.

...