WebSocket - очень интересная технология, позволяющая реализовать двусторонний обмен данными между клиентом и браузером в режиме реального времени. Веб-сокеты используют свой отдельный протокол (ws://localhost) приема и отправки сообщений от TCP-сервера.
Веб-сокеты - относительно новая технология, до появления которой сервер не мог отправлять данные клиенту без предварительного запроса. Браузерам приходилось постоянно отправлять на сервер запрос, чтобы узнать изменилось что-то или нет. Этот процесс называется поллинг (polling) или опрос.
Опрос
Опрос работает следующим образом:
Клиент запрашивает у сервера страницу.
Сервер в ответ отправляет запрашиваемый ресурс.
Клиент, с определенной переодичностью делает AJAX-запросы на сервер.
Если данные на сервере изменились, то сервер отправляет их клиенту.
Такой метод хорошо работает, но имеет несколько недостатков. Во-первых имеет место большой объём лишнего трафика на сервере. Во-вторых возможны задержки между появлением данных на сервере и передачей их клиенту.
Длинный опрос
Немного более эффективной техникой является длинный опрос (long polling). Механизм работы следующий:
При отправке AJAX-запроса мы можем указать свойство определяет количество миллисекунд, которое запрос будет выполняться, до того, как будет автоматически прерван.
Как только данные на сервере обновятся, сервер передаст их клиенту и браузер отправит новый запрос с таймаутом. Новый запрос браузер отправит также если время ожидания завершится.
Данный способ заметно уменьшает нагрузку на сервер, т.к. запросы отправляются с меньшей переодичностью. Однако возрастает сложность серверной части кода.
Веб-сокеты предоставляют намного более эффективный и простой способ общения клиента и сервера. Соединение устанавливается один раз и остается открытым, до тех пор пока одна из сторон не оборвет соединение.
Веб-сокеты не ограничены рамками браузера. Любой клиент может подключиться к серверу, например мобильные приложения.
Вы также можете скачать код нажав под видео на кнопку Материалы курса.
Посмотреть больше
Удален по просьбе правообладателя
Урок 1.00:04:25
Создание сервера
Урок 2.00:05:06
Отправка сообщений
Урок 3.00:08:21
Socket.io
Комментарии
Команда внимательно читает ваши комментарии и оперативно на них реагирует. Вы можете спокойно оставлять запросы на обновления или задавать любые вопросы о курсе здесь.
Socket.IO (с websockets) - Подробно. (socket io v2)
SocketIO v4, with websockets - the details.
Socket.IO. Для тех, кто хочет научиться контролировать общение в режиме реального времени. С Cluster , Redis и React. Веб-сокеты - одна из самых крутых вещей, которая поразила сеть. Они позволяют браузеру общаться в режиме реального времени, преодолевая один из последних пробелов в общении между людьми через Интернет. Socket io - это королевская библиотека, которая использует веб-сокеты под капотом. Есть хороший шанс, если вы читаете это, вы слыш
Современные приложения знают, как информировать пользователей об обновлениях в реальном времени с помощью уведомлений, всплывающих окон и других сообщений. Что касается разработки, то способность не только создавать веб-приложения, но и общаться с ними в режиме реального времени - это необычный, выдающийся навык вашего резюме. Это интересно, полезно и мощно.
Технология WebSockets - это двунаправленный полнодуплексный протокол для связи между клиентом и сервером через Интернет. Он был стандартизирован в 2011 году и полностью совместим с HTTP. Этот протокол позволяет использовать приложения в реальном времени, такие как чат, уведомления, прямая трансляция, многопользовательские игры и другие варианты использования.
Узнайте, как создавать Realtime приложения с Брайаном Холтом. В своем фирменном стиле обучения Брайан разбивает концепции на самый базовый уровень, а затем строит более простые в использовании и лучшие абстракции на основе первых концепций. В этом курсе вы научитесь "опрашивать" конечные точки, открывать веб-сокеты и, наконец, некоторые отличные абстракции веб-сокетов с SocketIO и SignalR. Создание приложений, в которых клиент и сервер