QuickFix 1.14.3未配置重置参数时,除HTTP命令外的seqNum重置场景咨询
QuickFix 1.14.3 序列号(seqNum)重置场景(除HTTP命令接口外)
除了通过HTTP命令接口重置序列号,以下场景也会触发QuickFix 1.14.3的序列号重置:
- 收到对手方的重置型SequenceReset消息:如果对手方发送
SequenceReset消息且GapFillFlag设为N,消息里的NewSeqNo字段会指定新的起始序列号,本地会话会把接收序列号重置为这个值;部分场景下发送序列号也会同步重置。 - 收到带重置标记的Logout消息:对手方发起登出时,若Logout消息里的
ResetSeqNumFlag设为Y,本地会话会自动重置发送和接收序列号。 - 代码里手动调用重置API:直接调用QuickFix库提供的会话重置方法,比如C++里的
Session::reset()、Java里的Session.reset(),调用后不管配置参数如何,都会强制重置当前会话的序列号。 - 本地会话状态文件损坏或丢失:存储序列号的本地文件(比如session.state)如果被删除、损坏或者读不出来,程序重启后会默认从序列号1开始,相当于自动重置。
- 严重序列错误触发的自动重置:当收到的消息序列号和本地预期值差得特别多,而且没法通过GapFill修复时,有些时候库会自动重置序列号来恢复会话通信。
内容的提问来源于stack exchange,提问作者user2622305
相关产品推荐
相关产品推荐

