• WebSocket: Реализация web-приложения с использованием Jetty Web Socket. Часть 1

    Добрый день, Хабражитель!

    Поздравляю всех и каждого с великим Днем Программиста! Желаю рабочего кода, уверенных сокетов и самых продвинутых пользователей!

    Работая над автоматизацией концертного агентства, мне на каком-то этапе разработки понадобилась система уведомлений. Доступ к автоматизации происходит через написанное мною web-приложение. И, соответственно, моментальные уведомления должны приходить в браузер пользователя.

    Для реализации такой задачи есть три решения:
    • «бесконечный iframe»,
    • используя XMLHttpRequest (a.k.a. Ajax),
    • используя WebSocket.

    Первое решение я сразу «отметаю» (причины объяснять не буду, web-разработчики меня поймут).

    Второе решение нравится гораздо больше, но у него есть свои минусы:
    • браузер отправляет запрос каждую секунду создавая лишнюю нагрузку на:
      • сервер;
      • ОС, на которой работает браузер;
      • и еще раз на сервер, так как сервер постоянно выполняет запрос БД на выборку последних уведомлений.
    • тяжело отследить онлайн-статус пользователя (то есть нужно, например, хранить сессии в БД и постоянно мониторить каждую на timeout).

    Третье решение — как раз то, что доктор прописал.

    Итак, WebSocket.
    Читать дальше →