На этой странице
Зачем они нужны соединениям
Сетевое соединение способно умереть молча: маршрутизатор его сбросил, ноутбук уснул, межсетевой экран о нём забыл. Без трафика ни одна сторона этого не замечает. Heartbeat создают трафик по расписанию, поэтому тишина дольше расписания становится надёжным признаком отказа, а не тихого рынка.
Как работает интервал
- Интервал обычно диктует сервер при входе.
- Клиент обязан отправлять не реже этого; отправлять чаще безопасно, реже — означает закрытие сессии.
- В протоколах в стиле FIX пропущенный heartbeat вызывает тестовый запрос; отсутствие ответа в течение ещё одного интервала закрывает соединение.
- Отмена при разрыве связи на CME использует ровно эту логику на сессиях ввода заявок.
Расчёт на примере
Шлюз просит heartbeat каждые 60 секунд и сбрасывает сессию примерно через один пропущенный интервал. У клиента, который отправляет с интервалом 60 секунд, запас равен нулю; задержанный из-за занятого момента способен быть выкинут. Сторож, который поднимает предупреждение после 5 минут без единого кадра, соответствует 300 / 60 = 5 пропущенным интервалам — далеко за пределами любого объяснения тихим рынком.
В Senzoukria
После входа в Rithmic приложение запускает задачу heartbeat, которая отправляет запрос heartbeat протокола с тем интервалом, который шлюз вернул в ответе на вход, округляя вверх до минимум одной секунды, потому что отправлять быстрее запрошенного всегда безопасно, а отправлять медленнее — именно то, из-за чего сессию сбрасывают. Задача останавливается раньше читателя при отключении. Для плантов PnL и заявок отдельный сторож пишет предупреждение, когда ни одного кадра не приходило пять минут, а читатель всё ещё заявляет, что жив, — не чаще раза в минуту.
Частые ошибки
- Читать отсутствующий heartbeat как тихий рынок.
- Усыплять компьютер или сетевой адаптер во время сессии и ждать, что соединение выживет.
- Считать, что heartbeat доказывает поток данных; он доказывает только, что сессия жива.
См. также
В этом же разделе
Источники
- CME Group Client Systems Wiki: Cancel on Disconnect (2026-09-25)
Эта страница на других языках
Частые вопросы
- Означает ли heartbeat, что мои данные живые?
- Нет. Он доказывает, что сессия открыта и обе стороны отвечают. Рыночные данные всё равно способны остановиться по другим причинам, например из-за проблемы с правами или остановки торгов, тогда как heartbeat продолжаются.
- Что будет, если моя платформа пропустит heartbeat?
- Сервер закроет сессию. Платформе придётся переподключиться и войти заново, а в зависимости от сервиса рабочие заявки могут быть сняты механизмом отмены при разрыве связи.