0

我一直在尝试处理这个问题一段时间,我相信这可能与 MsgSeqNum 在客户端和服务器之间不同步有关,但因为它开始是随机的,现在无法连接我我不再那么确定了。

有时在激活标志以重置 MsgSeqNum 客户端后,它会返回一条消息,表明服务器期望更高的 MsgSeqNum 并收到“1”(因为我已经重置了我的)但即使我反复尝试连接以增加我的客户端MsgSeqNum 与服务器匹配 我遇到了我在下面的日志中显示的相同错误。

在诸如“onCreate”之类的日志消息中只是我添加的调试消息,用于跟踪最终执行的方法。

如果有人能提供对此问题的见解以及任何新的尝试,我将不胜感激并感谢您的阅读!

注意:我无法重置服务器的 MsgSeqNum,因为您只能在登录后发送该标志,而我从来没有机会这样做。

onCreate
<20180619-19:51:30.000000000, FIX.4.4:SENDER->TARGET, event>
  (Created session)
<20180619-19:51:30.000000000, FIX.4.4:SENDER->TARGET, event>
  (Connecting to BROKERADDRESS on port 8101 (Source :0))
toAdmin
<20180619-19:51:30.000000000, FIX.4.4:SENDER->TARGET, outgoing>
  (8=FIX.4.4 9=112 35=A 34=52 49=SENDER 52=20180619-19:51:30.000 56=TARGET 554=PASSWORD 98=0 108=5 10=220 )
<20180619-19:51:30.000000000, FIX.4.4:SENDER->TARGET, event>
  (Initiated logon request)
<20180619-19:51:31.000000000, FIX.4.4:SENDER->TARGET, incoming>
  (8=FIX.4.4 9=77 35=5 34=40 49=TARGET 52=20180619-19:51:31.691 56=SENDER 10=228 )
fromAdmin
<20180619-19:51:31.000000000, FIX.4.4:SENDER->TARGET, event>
  (Received logout request)
toAdmin
<20180619-19:51:31.000000000, FIX.4.4:SENDER->TARGET, outgoing>
  (8=FIX.4.4 9=77 35=5 34=53 49=SENDER 52=20180619-19:51:31.000 56=TARGET 10=216 )
<20180619-19:51:31.000000000, FIX.4.4:SENDER->TARGET, event>
  (Sending logout response)
<20180619-19:51:31.000000000, FIX.4.4:SENDER->TARGET, event>
  (Disconnecting)
onLogout
toAdmin
4

1 回答 1

1

您的服务器需要更高的序列号。要解决此问题,您可以将 ResetSeqNumFlag (Tag = 141) 作为 Y 发送,因为在此之后您的服务器也应该重置其序列号。

您可以在应用程序中使用 Quickfixj config ResetOnLogon as Y,这将在登录时自动执行此操作。

请参考https://www.quickfixj.org/usermanual/1.6.1/usage/configuration.html

于 2018-06-21T16:02:18.623 回答