javascript42
Главная
Все учебники
Блог
Учебник STOMP.js
Введение
Что такое STOMP
История протокола
Зачем нужен STOMP в веб-разработке
Сравнение с другими протоколами
Где применяется STOMP
Установка и подключение библиотеки
Основы протокола STOMP
Архитектура клиент-сервер
Фреймы и их структура
Команды протокола
Заголовки фреймов
Тело сообщения
Heartbeat механизм
Версии протокола
Установка соединения
Создание клиента
Параметры конфигурации
WebSocket как транспорт
SockJS как альтернативный транспорт
Подключение к брокеру
Обработка успешного подключения
Обработка ошибок подключения
Переподключение при обрыве связи
Стратегии переподключения
Аутентификация и авторизация
Передача учетных данных
Токены доступа
Заголовки авторизации
Работа с защищенными каналами
Обработка ошибок авторизации
Подписка на каналы
Механизм подписки
Формат адресов назначения
Параметры подписки
Идентификаторы подписок
Множественные подписки
Отмена подписки
Обработка входящих сообщений
Фильтрация сообщений на уровне брокера
Отправка сообщений
Публикация в канал
Формирование фрейма SEND
Установка заголовков
Отправка текстовых данных
Отправка бинарных данных
Подтверждение доставки
Таймауты отправки
Транзакции
Начало транзакции
Отправка сообщений в транзакции
Подтверждение транзакции
Откат транзакции
Идентификаторы транзакций
Вложенные транзакции
Квитирование сообщений
Режимы квитирования
Автоматическое квитирование
Клиентское квитирование
Индивидуальное квитирование
Подтверждение получения
Отклонение сообщений
Обработка ошибок
Типы ошибок протокола
Ошибки подключения
Ошибки подписки
Ошибки отправки
Обработчики ошибок
Логирование ошибок
Восстановление после сбоев
Продвинутая конфигурация
Настройка heartbeat
Таймауты соединения
Размер буфера
Настройка очередей
Приоритеты сообщений
Time-to-live сообщений
Персистентность сообщений
Работа с различными брокерами
Apache ActiveMQ
RabbitMQ
Apache Apollo
HornetQ
ActiveMQ Artemis
Особенности конфигурации под разные брокеры
Отладка и мониторинг
Включение debug режима
Логирование фреймов
Инструменты разработчика браузера
Отслеживание состояния соединения
Мониторинг подписок
Анализ производительности
Профилирование передачи данных
Оптимизация производительности
Управление количеством подписок
Батчинг сообщений
Компрессия данных
Ленивая подписка
Отложенная доставка
Кеширование сообщений
Минимизация размера фреймов
Безопасность
Шифрование соединения
WSS протокол
Валидация входящих данных
Защита от инъекций
Ограничение частоты запросов
Изоляция каналов
Аудит событий
Интеграция с фреймворками
React и хуки
Vue.js и композиция
Angular и сервисы
Svelte и stores
Управление состоянием
Реактивность данных
Паттерны проектирования
Singleton для клиента
Фабрика подключений
Наблюдатель для сообщений
Адаптер для разных брокеров
Декоратор для расширения функциональности
Стратегия переподключения
Цепочка обработчиков
Тестирование
Модульное тестирование
Мокирование клиента
Эмуляция брокера
Интеграционное тестирование
Тестирование переподключений
Тестирование ошибок
Нагрузочное тестирование
Миграция и совместимость
Переход с старых версий
Обратная совместимость
Обновление зависимостей
Рефакторинг кода
Стратегии миграции
Практические задачи
Чат в реальном времени
Уведомления пользователей
Обновление данных на странице
Синхронизация между вкладками
Мониторинг состояния системы
Совместное редактирование
Игровые приложения
Решение типовых проблем
Потеря соединения
Дублирование сообщений
Утечки памяти
Зависшие подписки
Проблемы с кодировкой
Таймауты
Несовместимость версий
Справочник API
Класс Client
Методы подключения
Методы подписки
Методы отправки
Колбэки и обработчики
Интерфейсы конфигурации
Типы возвращаемых значений