惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

腾讯CDC
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - Franky
博客园_首页
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
IT之家
IT之家
The Cloudflare Blog
V
Visual Studio Blog
罗磊的独立博客
T
Tailwind CSS Blog
S
SegmentFault 最新的问题
Hugging Face - Blog
Hugging Face - Blog
V
V2EX
阮一峰的网络日志
阮一峰的网络日志
D
Docker
Last Week in AI
Last Week in AI
B
Blog RSS Feed
C
Check Point Blog
J
Java Code Geeks
The GitHub Blog
The GitHub Blog
有赞技术团队
有赞技术团队
博客园 - 聂微东
MongoDB | Blog
MongoDB | Blog
雷峰网
雷峰网

博客园 - 可乐加冰

推荐一个单元测试模拟框架:Nsubstitute QuickFIX/N入门:五、如何自定义FIX QuickFIX/N入门:四、使用消息循环分组 QuickFIX/N入门:三、 如何配置QuickFIX/N QuickFIX/N入门:二、发送消息及接收消息 QuickFIX/N入门:一、如何创建一个QuickFIX/N的应用程序 转、分享:PMP学习资料、考试资料推荐:第四版-2008版-吴永达 关于“类型初始值设定项引发异常” 浪费时间的主观原因 关于C#调用VC++.net程序集出现0x800736B1的异常 关于微软发布的Microsoft 图表控件 C#后期绑定方式来调用COM对象 Windows Mobile开发资源相关下载收录 值得珍藏的五十句话 Fund Managers Switching to Algorithmic Trading[转] winform窗体中嵌入显示Excel文件 让CheckBoxList,CheckBox 控件不能操作 - 可乐加冰 - 博客园 关于世界杯 C#在word文档中替换字符串
QuickFIX/N与QuickFIX的.NET封装不同之处
可乐加冰 · 2012-04-30 · via 博客园 - 可乐加冰

1、 关于QuickFIX

    QuickFix是一个C++FIX引擎,早期就2001年)实现FIX协议FIX引擎,它是免费、开放源码,主要实现语言是C++,对.NET用户,它提供了.NET的封装,使得C#用户也能轻易用上。Python, Ruby 也可以用。它的源码在http://sourceforge.net/projects/quickfix/files/quickfix/  早期的.NET用户一般都选择QuickFix,这是一个很受欢迎的开源引擎,虽然它的性能不是很优秀,但它已经可以满足一般的应用要求。

QuickFix/N100%使用.NET(C#)实现,免费并且完全开源的,是.NET用户最好的开源FIX引擎

     QuickFix/N的目标是创建一个开放源码、纯C开发的FIX引擎QuickFIX(C++)提供了一个C#的封装让.NET用户使用,经过很多年的应用,证明它是成功的,但它会导致代码.NET风格符合,不是那么地道。QuickFix/N可以保证系统的健壮性和代码风格一致性同时用法符合.NET风格。

2、 QuickFIX/N与QuickFIX的.NET封装不同之处

QuickFIX/N不兼容QuickFIX(C++).NET封装也就是说你不能简单地QuickFIX/N组件替换 C++.NET封装组件,并需要重新编译的现有代码。

QuickFIX 的编程风格是变,所以对顶层接口写的代码仍然是一样的。创建一个应用程序依然之前一样。您的应用程序需要实现标准的回调方法FromAppToApp等)。MessageCracker仍然是接收消息的最佳方式,实现的代码依然写在OnMessage回调事件当中发送消息调用的是同样方法。

你需要现有的应用程序进行修改,但大多数是很小的变化,例如需要改变方法名称或命名空间引用。下面是一个兼容性问题的列表:

1) 方法命名改为大驼峰式命名法UpperCamelCase

例如:Session.logout()改为Session.Logout(),而Application.fromApp()改为Application.FromApp()

2) Getter setter方法已经去掉.NET属性取代。

    NewOrderSingle消息获得ClOrdID的值,之前是调用order.getClOrdID(),现在只需使用order.ClOrdID即可。

以前用setter方法exec.setFieldorder.getClOrdID());现在exec.ClOrdID=order.ClOrdID;

3) 命名空间的变更

FIX 消息类在QuickFix##命名空间,其中##代表FIX版本。现在,他们命名空间QuickFix.FIX##

例如:以前是QuickFix42.NewOrderSingle现在改为QuickFix.FIX42.NewOrderSingle

4) Socket acceptor initiator类不一样

QuickFIX/N默认initiator类是QuickFix.Transport.SocketInitiator默认acceptorQuickFix.ThreadedSocketAcceptor

构造函数已经改变。QuickFIX/N中,MessageFactoryinitiatoracceptor的构造参数之一

5) 配置不一样了,新增了一些配置或者与QuickFIX 的配置不一样

详细请查看配置的相关介绍 ,以确定是否需要更改您的配置文件。