经过前面2篇文章,我们已经看到QuickFix 运行效果了,那么我们接下来就要结合QuickFix 实现来详解Fix 协议,因为FixClub 的宗旨是让人了解,熟悉Fix 协议。不是让人去单单理解一个开源的Fix 引擎。所以,本系列文章会从协议和QuickFix 源码分析结合来阐述。
必备基础知识:
什么是Fix
关于Fix 定义,谁在用等,我不想过多解释,详细请参考http://www.fixprotocol.org/ ,同时你也可以在百度搜索关于中文的资料。
协议层次
FIX协议包含2个层次:会话层和应用层。会话层与数据的通信相关;这里的会话层指的是信息交换会话,而不是网络或通信会话。会话层主要定义系列规则,去怎样建立会话,维护会话,数据交换,和退出的机制。而应用层定义了一些具体的业务相关的消息,下单,订单执行报告等.
协议格式
1 “标记1=值<分隔符>标记2=值 ”语法格式 (本系列文章,均以此种格式讲解)
2 “FIXML语法”语法格式 (后续有专门系列文章讲解)
消息
A)FIX消息的一般格式为:一个标准头+消息体+一个标准的尾部
一个消息,必须Tag(#8),Tag(#9),Tag(#35)开始,而且顺序保持8,9,35的顺序, 8表示开始字符串,9表示消息长
度, 35 表示消息类型. 并且必须以 Tag#10结尾. Tag #10表示校验和码
那么给定一个消息字符 串怎么知道哪些Tag属于头,哪些属于内容,哪些属于尾呢? 可以根据Tag #35后面的值