当前位置:首页 > 轻量级STEP会话层接口规范1.00
Version1.00
轻量级STEP会话层接口规范 2015-08-28
处理重传请求场景二
和本节场景一前面部分都相同,但区别在于Client没有来得及发出ResendRequest,网络连接就断了,因此需要重新登录并后续发送ResendRequest补缺口。在登录时使用的NextExpectedMsgSeqNum 是根据登录时已知的最大消息序号确定,而非根据全部缺口消息中最小的序号来确定。
第28页共38页
Version1.00 轻量级STEP会话层接口规范 2015-08-28
FIX引擎重连后向LFIXT请求重传请求Client业务消息ServerNxtIn = 101NxtOut = 78Tag 34/MsgSeqNum = 100TCP 连接断开重建TCP连接NxtIn = 1NxtOut = 1LogonTag 34/MsgSeqNum = 78Tag 141/ResetSeqNumFlag = NTag 789/NextExpectedMsgSeqNum = 101NxtIn = 101NxtOut = 79NxtIn = 79NxtOut = 101LogonNxtIn = 102NxtOut = 79Tag 34/MsgSeqNum = 101Tag 141/ResetSeqNumFlag = NTag 789/NextExpectedMsgSeqNum = 79NxtIn = 79NxtOut = 102业务消息NxtIn = 103NxtOut = 79Tag 34/MsgSeqNum = 102NxtIn = 79NxtOut = 103ResendRequestNxtIn = 103NxtOut = 80请求重发98和99号消息Tag 34/MsgSeqNum = 79Tag 7/BeginSeqNo = 98Tag 16/EndSeqNo = 99SeqReset-ResetNxtIn = 80NxtOut = 103NxtIn = 103,且不指望再能回补消息Tag 34/MsgSeqNum = 1, 接收方应该忽略此字段Tag 123/GapFillFlag = 'N', 表示是Reset模式Tag 36/NewSeqNo = max{99, 103} = 103NxtIn = 80NxtOut = 103不占发送序号
图C.2 处理重传请求二
第29页共38页
Version1.00
轻量级STEP会话层接口规范 2015-08-28
附 录 D
(处理心跳和测试请求) 处理心跳和测试请求
下图是心跳和测试请求的场景,连接双方的空闲持续在经过一个约定的时间间隔后,连接双方根据规则都可以发送心跳。标准FIX协议的实现者可以不受限制地主动发起测试请求。下图中的Server是LFIX协议的实现者,不会主动发起测试请求。
ClientServer心跳Tag 34/MsgSeqNum = 17心跳Tag 34/MsgSeqNum = 100TestRequest强制对方回送心跳Tag 34/ MsgSeqNum = 18Tag 112/TestReqID = '20131212-09:00:03-000001'心跳根据指示回应心跳Tag 34/MsgSeqNum = 101Tag 112/TestReqID = '20131212-09:00:03-000001'
图D.1 处理心跳和测试请求
第30页共38页
Version1.00 轻量级STEP会话层接口规范
附 录 E (处理会话拒绝) 处理会话拒绝
2015-08-28
LFIX会话协议中,收到会话拒绝后应该记录日志,调整入向消息序号。下图中,Server是LFIX引擎,Client是标准的FIX引擎。
ClientResend RequestTag 34/MsgSeqNum = 17Tag 7/BeginSeqNo=100Tag 16/EndSeqNo 必填但缺失Server记录日志REJECTTag 34/MsgSeqNum = 102Tag 45/RefSeqNum = 17Tag 373/SessionRejectReason = 1(缺失必须域)NxtIn = 18
图E.1 处理会话拒绝
第31页共38页
共分享92篇相关文档