Технология
Socket.IO
Socket.IO — библиотека для двусторонней связи в реальном времени между сервером и браузерами. Она работает через WebSocket, переходит на HTTP long-polling, если сеть блокирует WebSocket, и сама восстанавливает соединение. На ней я построил платформу мультиплеерных игр
- Тип
- Технология
- Официальный сайт
- socket.io
- В моей работе
- Проекты 1 · Инструменты 1 · Услуги 2
- Опубликовано
Где я её применяю
QRuma: игры для одного большого экрана, где телефон — геймпад
QRuma запускает игры для компании на одном большом экране: игроки сканируют QR-код, и телефон становится геймпадом без установки. Проект вырос из VibeCatter
ИнструментыКонструктор квиза: свои вопросы для Quiz Battle
Создайте свой квиз со своими вопросами и проведите его на большом экране: гости отвечают с телефонов. Сценарии, инструкция и ограничения конструктора
УслугиРазработка MVP: от идеи до работающего продукта
Разработка MVP на заказ: объём, UX, дизайн, фронтенд, бэкенд, AI и запуск — силами одного сеньора, который сам был основателем и CTO
УслугиТехнический директор (CTO) на аутсорсе для стартапа
CTO на аутсорсе для стартапа: архитектура, команда, код-ревью и разработка от технического директора, который пишет код сам. Часы в неделю или полная занятость
Что такое Socket.IO и как я использую его в продуктах реального времени?
Продукты реального времени ломаются в сети, а не на демо. Socket.IO даёт мне комнаты, подтверждения доставки и переподключение из коробки, поэтому силы уходят в продукт, а не в обвязку
Основные факты
Как я применяю Socket.IO
- Мультиплеерные игры для одного большого экрана. В моей платформе экран и до 30 телефонов в комнате общаются с сервером на Node.js через Socket.IO. Телефоны отправляют ввод, а сервер возвращает состояние игры до 60 раз в секунду. Кейс платформы.
- Компактные обновления. В WarLine, командной стратегии, сервер отправляет только то, что изменилось с прошлого состояния, поэтому в мобильном интернете трафик остаётся небольшим.
- Сети, которые обрываются. Гости играют через мобильный интернет, а не в одной Wi-Fi-сети. Когда телефон ненадолго теряет связь, Socket.IO возвращает его в ту же комнату.
- Живые интерфейсы. Тот же подход даёт обновления в реальном времени в продуктах, в том числе в AI-интерфейсах реального времени. Подробнее — AI для бизнеса.
Когда я выбираю Socket.IO и его ограничения
Я использую Socket.IO, когда продукту комнаты, события и надёжное переподключение нужнее, чем предельная скорость: в играх, живых квизах, совместной работе, уведомлениях.
Для аудио и видео или для данных, которые должны идти напрямую между двумя устройствами, лучше подходит WebRTC. А серверу, который держит состояние в памяти, нужен план на случай, когда одного процесса станет мало; его я рассчитываю под каждый проект, а не обещаю заранее число игроков.
Работает вместе с
Источники
- Socket.IO Documentation — Socket.IO ·
