Подключение, подписка и сердцебиение
Подключение, подписка и сердцебиение
Подключайтесь к 6MM WebSocket потокам, подписывайтесь на темы, поддерживайте связи и безопасно обрабатывайте конверты сообщений.
Используйте WebSocket потоки для рыночных данных и частных обновлений состояния пользователя, которые должны оставаться актуальными без опросов.
Связь URL
Приватные потоки требуют контекста аутентификации, такого как listenKey или токен доступа, как описано в документации по частному каналу.
Подписаться
Успешное подтверждение подписки:
Отписаться
Применение пинга
Конверт для сообщений
Публичные продвижения используют единую границу:
Оперативные рекомендации
- Создать уникальный клиентский
idдля каждого запроса подписки, отписки и пинга. - Воспринимайте повторное подключение как новую сессию и заново подписывайтесь на необходимые темы.
- Проверьте, что возвращаемый
topicсовпадает с каналом, которого ожидает ваш сервис. - Сохранять обработку сообщений идемпотентной, если речь идёт о частных заказах или событиях аккаунта.
- Изменения состояния подключения журналов, подтверждения подписки и аномальные разрывы соединения.
Рабочий процесс повторного подключения
- Закройте или отключите предыдущую розетку и создайте новое соединение.
- Повторная аутентификация частных потоков с помощью действительного listenKey или токена доступа.
- Подпишитесь на все необходимые темы и ждите успешных подтверждений.
- Замените локальное состояние книги заказов на новый снимок перед введением постепенных обновлений.
- Согласовать открытые ордеры, позиции и балансы через REST , если частные события могли быть пропущены.
Используйте ограниченный экспоненциальный откат с джиттером для попыток повторного подключения. Клиент, постоянно переподключающийся, должен предупреждать операторов, а не бесконечно пытаться без видимости.
Сердцебиение и застоявшиеся связи
- Отслеживать самое свежее входящее сообщение и успешное подтверждение пинга.
- Используйте интервал сердцебиения и порог ожидания, одобренные для производственной среды.
- Считать соединение устаревшим, если настроенный порог превышен, даже если TCP разъём всё ещё открыт.
- Не использовать повторно подписки из старого сокета; Обязательно подписывайтесь после каждого повторного подключения.
Связанная документация
- Каналы публичного рынка: темы, непрерывность книги заказов, сделки, свечи и тикеры.
- Private User Channel: listenKey жизненный цикл и аутентифицированные события.
- Рекомендации по интеграции: повторные испытания, идентификационность, мониторинг и испытания при запуске.