WebSocket - очень интересная технология, позволяющая реализовать двусторонний обмен данными между клиентом и браузером в режиме реального времени. Веб-сокеты используют свой отдельный протокол (ws://localhost) приема и отправки сообщений от TCP-сервера.

Веб-сокеты - относительно новая технология, до появления которой сервер не мог отправлять данные клиенту без предварительного запроса. Браузерам приходилось постоянно отправлять на сервер запрос, чтобы узнать изменилось что-то или нет. Этот процесс называется поллинг (polling) или опрос.

Опрос

Опрос работает следующим образом:

  1. Клиент запрашивает у сервера страницу.
  2. Сервер в ответ отправляет запрашиваемый ресурс.
  3. Клиент, с определенной переодичностью делает AJAX-запросы на сервер.
  4. Если данные на сервере изменились, то сервер отправляет их клиенту.

Такой метод хорошо работает, но имеет несколько недостатков. Во-первых имеет место большой объём лишнего трафика на сервере. Во-вторых возможны задержки между появлением данных на сервере и передачей их клиенту.

Длинный опрос

Немного более эффективной техникой является длинный опрос (long polling). Механизм работы следующий:

  1. При отправке AJAX-запроса мы можем указать свойство timeout определяет количество миллисекунд, которое запрос будет выполняться, до того, как будет автоматически прерван.
  2. Как только данные на сервере обновятся, сервер передаст их клиенту и браузер отправит новый запрос с таймаутом. Новый запрос браузер отправит также если время ожидания завершится.

Данный способ заметно уменьшает нагрузку на сервер, т.к. запросы отправляются с меньшей переодичностью. Однако возрастает сложность серверной части кода.

Веб-сокеты предоставляют намного более эффективный и простой способ общения клиента и сервера. Соединение устанавливается один раз и остается открытым, до тех пор пока одна из сторон не оборвет соединение.

Веб-сокеты не ограничены рамками браузера. Любой клиент может подключиться к серверу, например мобильные приложения.

https://github.com/codedojo/websocket-intro/archive/master.zip

Регистрация

Для регистрации введите актуальный адрес электронной почты. На него вам придет письмо для активации аккаунта.

Вход

или

Сброс пароля

Для сброса пароля введите адрес электронной почты указанный при регистрации. На этот адрес придет письмо с инструкцией.

Регистрация

Для регистрации введите актуальный адрес электронной почты. На него вам придет письмо для активации аккаунта.

Уровень

Сумма оплаты составляет 500 руб. Доступ будет действовать до 08.07.2023.