Based on JavaScript.
Давайте вообще начнем с начала, зачем это нужно, где используется и с чем едят. Я буду обьяснять базовые понятия и приводить базовые примеры, куски кода есть в репозитории.
Взаимодействие в реальном времени сейчас испольуется почти везде, мессенджеры, комп. игры и прочие приложения, где юзеры контактируют между собой и не только.
Всего есть три вида взаимодействия в real-time:
1) Long Polling
2) Event Sourcing
3) WebSocket
Пойдем по порядку, к каждому типу будут примеры, надеюсь они вам помогут.
Это правда самый простой способ взаимодействия: Клиент делает запрос => сервер не закрывает соединение и ждет данных для ответа => сервер отвечает => новый запрос
В данном случае только сервер может нам отправлять какие-то ответы, подключение постоянное:Код для описания взаимодействия Long Polling есть в репо, можете ознакомиться
Cервер отдает данные на клиент => клиент принимает данные с сервера и использует
Самый useful вид взаимодействия, протокол WebSocket предназначен для решения любых задач и снятия ограничений обмена данными между браузером и сервером. Он позволяет пересылать любые данные, на любой домен, безопасно и почти без лишнего сетевого трафика.Код для описания взаимодействия Event Sourcing есть в репо, можете ознакомиться
Постоянное двусторонее соединение, клиент - сервер, сервер-клиент
Код для описания взаимодействия WebSocket есть в репо, можете ознакомиться
Через время постараюсь выкатить +/- средний проект с использование вебсокетов, а так частички кода просто ради красивого словца, это не гайд, это просто вводная страничка. Советую вам изучать это самостоятельно и попробовать написать пару проектов, я встретился с сокетами на тестовом задании, где писал аналог зума и просел на это. Сокеты - круто, не забывайте про них