当前位置:首页 > 轻量级STEP会话层接口规范1.00
Version1.00
轻量级STEP会话层接口规范 2015-08-28
异常登录场景一
标准FIX作为登录发起方——Client,LFIX作为登录接受方——Server,日间非首次正常登录,且Client不设置ResetSeqNumFlag,也没有设置NextExpectedMsgSeqNum为其在前一次连接断开时的NxtIn。
场景开始时,TCP连接刚建立后,Client 的 NxtOut=100, NxtIn = 189,Server 的 NxtOut = 1, NxtIn = 1。
ClientServer建立TCP连接NxtIn = 189NxtOut = 100LOGONNxtIn = 189NxtOut = 101Tag 34/MsgSeqNum = 100Tag 141/ResetSeqNumFlag = NNxtIn = 101NxtOut = 1LOGONTag 34/MsgSeqNum = 1Tag 141/ResetSeqNumFlag = NTag 789/NextExpectedMsgSeqNum = 101MsgSeqNum < NxtIn建立连接失败!LOGOUT断开TCP连接
图A.4 异常登录场景一
由于标准FIX客户端没有正确设置NextExpectedMsgSeqNum,收到的LOGON响应报文的MsgSeqNum是1,小于预期的189,因此标准FIX客户端认为出现了严重错误,在发送LOGOUT后断开连接。
异常登录场景二
第24页共38页
Version1.00 轻量级STEP会话层接口规范 2015-08-28
LFIX作为登录发起方——Client,LFIX作为登录接受方——Server,其余情况同本节场景一,唯一的区别在于Client在LOGON消息中提供的用户名和口令非法。
ClientServer建立TCP连接LOGONTag 34/MsgSeqNum = 1Tag 141/ResetSeqNumFlag = YTag 789/NextExpectedMsgSeqNum = 1Tag 553/UserName='XXXX'Tag 554/Password='YYYY'LOGOUTTag 34/MsgSeqNum = 1断开TCP连接
图A.5 异常登录场景二
第25页共38页
Version1.00
轻量级STEP会话层接口规范 2015-08-28
附 录 B (注销场景) 正常注销场景
下图显示注销会话的场景,申请注销后,服务方回送注销消息确认断开会话。
ClientServerLOGOUTLOGOUT关闭TCP连接
图B.1 正常注销场景
第26页共38页
Version1.00
轻量级STEP会话层接口规范 2015-08-28
附 录 C (处理重传请求场景) 处理重传请求场景一
下图中,Client是标准FIX引擎,Server是LFIX引擎,且Client因为某种特殊的原因,比如虽然收到但因为自身错误而没有将消息98和99保留下来,但保存了消息100。
ClientServer业务消息Tag 34/MsgSeqNum = 98业务消息Tag 34/MsgSeqNum = 99业务消息NxtIn = 101NxtOut = 78Tag 34/MsgSeqNum = 100NxtIn = 78NxtOut = 101ResendRequest因为某种未知原因,请求重发98和99号消息Tag 34/MsgSeqNum = 78Tag 7/BeginSeqNo = 98Tag 16/EndSeqNo = 99SeqReset-ResetTag 34/MsgSeqNum = 1, 接收方应该忽略此字段Tag 123/GapFillFlag = 'N', 表示是Reset模式Tag 36/NewSeqNo = max{99, 101} = 101业务消息NxtIn = 79NxtOut = 101NxtIn = 101,且不指望再能回补消息NxtIn = 79NxtOut = 101 不占序号Tag 34/MsgSeqNum = 101NxtIn = 79NxtOut = 102
图C.1 处理重传请求一
第27页共38页
共分享92篇相关文档