Коммуникация в реальном времени
Система WebSocket-событий
SmartDeal использует Socket.IO для двунаправленной коммуникации в реальном времени между сервером и клиентами.
События сервер → клиент
| Событие | Назначение | Триггер |
|---|---|---|
connect | Соединение установлено | Открытие сокета |
disconnect | Соединение потеряно | Проблема сети/сервера |
notification | Уведомление пользователя | Изменение статуса сделки |
update/user | Профиль изменён | Подключён кошелёк |
update/deal | Сделка и зменена | Переход статуса |
События клиент → сервер
| Событие | Назначение | Данные |
|---|---|---|
join | Подписка на обновления сделки | dealId |
leave | Отписка от сделки | dealId |
message | Отправка сообщения в чат | chatId, text |
Преимущества WebSocket
Двунаправленная коммуникация обеспечивает:
✅ Мгновенные обновления — Изменения отображаются без задержки ✅ Снижение нагрузки — Нет необходимости в постоянном опросе сервера ✅ Синхронизация — Все клиенты видят актуальное состояние ✅ Живой чат — Обмен сообщениями в реальном времени ✅ Уведомления — Мгновенное оповещение о важных событиях
Надёжность соединения
- Автоматическое переподключение — При потере связи
- Обработка ошибок — Graceful degradation при проблемах
- Очередь событий — Сообщения не теряются при разрыве
- Fallback механизмы — Long-polling при недоступности WebSocket