尝试在 Quickfix 上连接时收到即时注销消息

Instant logout message received when trying to connect on Quickfix

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

有时在激活标志以重置 MsgSeqNum 客户端后,它会 return 一条消息,表明服务器期望更高的 MsgSeqNum 并收到“1”(因为我已重置我的)但即使我反复尝试连接以增加我的客户端 MsgSeqNum 以匹配服务器的 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

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

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

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