MsgSeqNum последовательности и разные сеансы - PullRequest
1 голос
/ 04 февраля 2020

Например, у меня есть конфигурация для QuickFix / n с двумя сеансами, что-то вроде:

[DEFAULT]
...

[SESSION]
# Settings for first session
...

[SESSION]
# Settings for second session
...

Эти сеансы должны иметь разные последовательности MsgSeqNum, т.е. если я отправляю сообщение Logon в первые сеансы должно иметь MsgSeqNum = 1 и Logon сообщение для отправки во второй сеанс должно иметь MsgSeqNum = 1, потому что я отправляю сообщения в разные сеансы с разными последовательностями. Я прав?

И еще один связанный с этим вопрос. Возможно ли иметь одну общую последовательность MsgSeqNum для разных сеансов?

Обновление

Я интегрируюсь со сторонним сервером FIX. Их поддержка сказала мне, что я должен отправить два Logon сообщения (для двух сеансов), но когда QuickFix / n отправляет их, я вижу следующую ошибку в ответ от второго Logon: MsgSeqNum too low, expecting 3 but received 1. Похоже, что их сервер FIX имеет общую / общую последовательность MsgSeqNum для этих сеансов (но я не уверен).

Итак, я хочу уточнить с этим вопросом, как QuickFix / n работает с MsgSeqNum последовательностями, потому что их плохая документы не выделяют этот момент.

1 Ответ

0 голосов
/ 05 февраля 2020

Я обнаружил root проблемы. Предоставленная конфигурация выглядит следующим образом:

[DEFAULT]
...

[SESSION]
# Settings for first session
ResetOnLogon=Y
...

[SESSION]
# Settings for second session
ResetOnLogon=N
...

Первый сеанс устанавливает sh соединение, отправляет Logon сообщение и сбрасывает MsgSeqNum, но второй сеанс всегда отправляет MsgSeqNum=1, поскольку он не сбрасывается MsgSeqNum и на стороне клиента и сервера они отличались (я полагаю, это произошло из-за того, что мой другой тестовый проект увеличился MsgSeqNum до 3 на стороне сервера, когда я запускал его раньше).

Итак, Грант Бирчмайер в Комментарий выше был прав, и MsgSeqNum последовательности различны для разных сессий. Проблема была в конфигурации на стороне клиента.

...