我不知道这里出了什么问题。管理员和登录消息代码看起来没问题,消息看起来没问题,数据字典也没问题。
20211122-12:29:48.018 : Initiated logon request
20211122-12:29:48.129 : Sequence numbers reset due to ResetSeqNumFlag=Y
20211122-12:29:48.129 : Received logon
20211122-12:29:48.129 : Session FIX.4.4:FIX ENGINE.TEST/FIX.API->360T_RFQ_TEST disconnecting: System.NullReferenceException: Object reference not set to an instance of an object.
at IsFixService.IsFixService.OnLogon(SessionID s)
at QuickFix.Session.NextLogon(Message logon)
at QuickFix.Session.Next(MessageBuilder msgBuilder)
at QuickFix.SocketInitiatorThread.ProcessStream()
at QuickFix.SocketInitiatorThread.Read()这些消息是
8=FIX.4.49=11935=A34=149=FIX ENGINE.TEST50=FIX.API52=20211122-12:29:48.01756=360T_RFQ_TEST98=0108=30141=Y554=pwd10=050
8=FIX.4.49=10235=A34=149=360T_RFQ_TEST52=20211122-12:29:48.06556=FIX ENGINE.TEST57=FIX.API98=0108=30141=Y10=160我搞不懂为什么会有NextLogon,因为只有一次登录。
发布于 2021-11-22 12:57:33
好吧,我混淆了QuickFixN OnLogon覆盖方法和消息破解器OnMessage(QuickFix.FIX44.Logon msg, SessionID s)方法。
我认为问题出在OnMessage方法中,它工作得很好。问题是我的onLogon方法有一个NullReferenceException试图使用未初始化的登录监控缓存。所以是我的错。
https://stackoverflow.com/questions/70066005
复制相似问题