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

#java #tomcat #push #comet

#java #tomcat #толкать #comet

Вопрос:

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

Ответ №1:

рассматривали ли вы icefaces?

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

Ответ №2:

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

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

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

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