编辑: glay | 2019-07-06 |
2013 年9月1日中国金融期货交易所技术文档 行情客户端应用程序接口 版权所有?中国金融期货交易所 第II 页 目录 第1章介绍.
1 1.1 MduserAPI 简介.1 1.2 MduserAPI 发行的平台
1 1.3 修改历史.2 1.3.1 版本 1.5.2 第2章体系结构.3 2.1 通讯模式.3 2.2 数据流.4 第3章接口模式.6 3.1 MduserAPI 接口.6 3.1.1 对话流编程接口.6 3.1.2 行情流编程接口.7 第4章运行模式.1 4.1 工作流程.1 4.1.1 初始化阶段.1 4.1.2 功能调用阶段.1 4.2 工作线程.2 4.3 与交易所前置系统的连接.2 4.4 本地文件.3 4.5 前置机列表.3 第5章MduserAPI 接口分类
6 5.1 管理接口.6 5.2 业务接口.6 第6章MduserAPI 参考手册
7 6.1 CFfexFtdcMduserSpi 接口
7 6.1.1 OnFrontConnected 方法
7 6.1.2 OnFrontDisconnected 方法.7 6.1.3 OnHeartBeatWarning 方法.8 6.1.4 OnPackageStart 方法.8 6.1.5 OnPackageEnd 方法
8 6.1.6 OnRspUserLogin 方法.9 6.1.7 OnRspUserLogout 方法.10 6.1.8 OnRspSubscribeTopic 方法.11 6.1.9 OnRspQryTopic 方法
12 6.1.10 OnRtnDepthMarketData 方法
13 6.1.11 OnRspError 方法
16 6.2 CFfexFtdcMduserApi 接口
16 6.2.1 CreateFtdcMduserApi 方法.16 6.2.2 GetVersion 方法.17 6.2.3 Release 方法
17 6.2.4 Init 方法
17 6.2.5 Join 方法.18 中国金融期货交易所技术文档 行情客户端应用程序接口 版权所有?中国金融期货交易所 第III 页6.2.6 GetTradingDay 方法.18 6.2.7 RegisterSpi 方法
18 6.2.8 RegisterFront 方法.18 6.2.9 RegisterNameServer 方法.19 6.2.10 SetHeartbeatTimeout 方法.19 6.2.11 SubscribeMarketDataTopic 方法.20 6.2.12 ReqUserLogin 方法
20 6.2.13 ReqUserLogout 方法
21 6.2.14 ReqSubscribeTopic 方法.22 6.2.15 ReqQryTopic 方法.23 第7章开发示例.24 中国金融期货交易所技术文档 行情客户端应用程序接口 版权所有?中国金融期货交易所 第1页,共36 页第1章 介绍 1.1 MduserAPI 简介 行情客户端系统 API 是一个基于 C++的类库, 通过使用和扩展类库提供的接 口来实现行情数据的订阅和接收功能.该类库包含以下
5 个文件: 文件名 版本 文件描述 CFFEXFtdcMduserApi.h V1.59 行情接口头文件 CFFEXFtdcUserApiStruct.h V1.59 定义了 UserAPI 所需的一系列数据类型的头文 件CFFEXFtdcUserApiDataType.h V1.59 定义了一系列业务相关的数据结构的头文件 libCFFEXmduserapi.dll V1.59 动态链接库二进制文件 libCFFEXmduserapi.lib V1.59 导入库文件 libCFFEXmduserapi.so.lnx64 V1.59 Linux 动态库 1.2 Windows 支持 MS VC 6.0,MS VC.NET
2003 编译器. 需要打开多线程编译选项/MT.Linux 版本 api 是基于 Redhat 6.3 版本,gcc 版本为 4.4.6,依赖于 openssl 库.MduserAPI 发行的平台 目前发布了以下操作系统平台的版本: ? Intel X86/WindowsXP:包括.h 文件、.dll 文件和.lib 文件. ? Linux RedHat6.3:包括.h 文件和.so 文件. 中国金融期货交易所技术文档 行情客户端应用程序接口 版权所有?中国金融期货交易所 第2页,共36 页1.3 修改历史 1.3.1 版本 1.5 本版本基于《行情客户端应用程序接口 V12》修改.主要有以下变更: ? 本版本提供了灾备功能: ? 增加【4.10 灾备接口】 ,简要说明了灾备原理. ? 由于登录报文中增加了数据中心代码,MdUserAPI 修改了ReqUserLogin 和OnRspUserLogin 方法的参数. ? 本版本提供了数据流长度的查询功能: ? 登录交易系统时,应答中会返回当前会员私有流长度和交易员私有 流长度. ? MdUserAPI 增加了对 ReqQryTopic 和RspQryTpoic 方法说明,用于 查询流长度. ? 对以前版本发现问题的修正: ? MdUserAPI 增加了 GetVersion 方法说明,之前版本虽提供功能但无 文档说明. ? MdUserAPI 增加了 RegisterNameServer 方法说明,之前版本虽提供 功能但无文档说明. ? 使用限制 ? 为提高 API 的性能,在WIN32 环境下,MduserAPI 在初始化时, 随机使用了 39601-39650 的Tcp 端口.Linux 版本没有这个限制. 中国金融期货交易所技术文档 行情客户端应用程序接口 版权所有?中国金融期货交易所 第3页,共36 页1.3.2 版本 1.59 本版本基于《行情客户端应用程序接口 V15》修改.接口无变化,主要有以下变 更: ? 本版本修改了版本运行和编译说明 第2章 体系结构 行情 API 使用建立在 TCP 协议之上 FTD 协议与交易所的行情发布服务器进 行通讯.行情发布服务器负责行情信息的产生与发布,但不参与交易过程.参与 交易需要使用另外的 交易员 API . 2.1 通讯模式 FTD 协议中的所有通讯都基于某个通讯模式.通讯模式实际上就是通讯双 方协同工作的方式. 行情发布涉及的通讯模式共有二种: ? 对话通讯模式 ? 广播通讯模式 对话通讯模式是指由会员端主动发起的通讯请求. 该请求被交易所端接收和 处理,并给予响应.例如登入与登出.这种通讯模式与普通的客户/服务器模式 相同. 广播通讯模式是指交易所端主动,向市场中的相关会员发出相同的信息.例 如行情等. 通讯模式和网络的连接不一定存在简单的一对一的关系.也就是说,一个网 络连接中可能传送多种不同通讯模式的报文, 一种通讯模式的报文也可以在多个 不同的连接中传送. 无论哪种通讯模式,其通讯过程都如图