Skip to content
This repository has been archived by the owner on Jul 21, 2022. It is now read-only.

websect-dev/js-connection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 

Repository files navigation

Какими способами можно взаимодействовать между сервером-клиентом в реальном времени?

Based on JavaScript.

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

Всего есть три вида взаимодействия в real-time:

  1) Long Polling
  2) Event Sourcing
  3) WebSocket

Пойдем по порядку, к каждому типу будут примеры, надеюсь они вам помогут.

Long Polling

Это правда самый простой способ взаимодействия:

Клиент делает запрос => сервер не закрывает соединение и ждет данных для ответа => сервер отвечает => новый запрос

Код для описания взаимодействия Long Polling есть в репо, можете ознакомиться

Event Sourcing

В данном случае только сервер может нам отправлять какие-то ответы, подключение постоянное:

Cервер отдает данные на клиент => клиент принимает данные с сервера и использует

Код для описания взаимодействия Event Sourcing есть в репо, можете ознакомиться

WebSocket

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

Постоянное двусторонее соединение, клиент - сервер, сервер-клиент

Код для описания взаимодействия WebSocket есть в репо, можете ознакомиться


Через время постараюсь выкатить +/- средний проект с использование вебсокетов, а так частички кода просто ради красивого словца, это не гайд, это просто вводная страничка. Советую вам изучать это самостоятельно и попробовать написать пару проектов, я встретился с сокетами на тестовом задании, где писал аналог зума и просел на это. Сокеты - круто, не забывайте про них

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published