QuickFix的SSL问题
2015-08-11 13:28
916 查看
QuickFix是FIX协议的一个开源引擎,有多中语言的实现:
Java: QuickFIX/J
C#: QuickFIX/N
C++: Python和Ruby的接口基于C++的版本
最近在学习FIX和QuickFIX,碰到一个问题,broker提供的Demo是基于QuickFIX/J的,可以正常工作。我使用同样的逻辑,用C#和Python代码重新实现,却每次发送登录请求LOGON之后,链接就会被对端断开:Socket Error: Connection reset by peer.
我花了十几个小时去调试,对比Python、C#、Java版本程序发出的消息的异同,还使用MiniFIX作为客户端发送Logon,发现多个版本发送的都是相同的Message,但惟有Java版的在工作。最后迫于无奈,使用WireShark抓包,发现Java版发送的TCP包内容是加密的,而其他版本发送的都是明文。终于找到问题:
SocketUseSSL=Y
目前QuickFIX的多个版本中,Java实现了SSL的支持,而C#和C++版本均未实现。定位到了问题,解决方法也容易:使用stunnel。可以参考:https://waiseekweng.wordpress.com/2014/09/08/configure-for-fixn/
Java: QuickFIX/J
C#: QuickFIX/N
C++: Python和Ruby的接口基于C++的版本
最近在学习FIX和QuickFIX,碰到一个问题,broker提供的Demo是基于QuickFIX/J的,可以正常工作。我使用同样的逻辑,用C#和Python代码重新实现,却每次发送登录请求LOGON之后,链接就会被对端断开:Socket Error: Connection reset by peer.
我花了十几个小时去调试,对比Python、C#、Java版本程序发出的消息的异同,还使用MiniFIX作为客户端发送Logon,发现多个版本发送的都是相同的Message,但惟有Java版的在工作。最后迫于无奈,使用WireShark抓包,发现Java版发送的TCP包内容是加密的,而其他版本发送的都是明文。终于找到问题:
[SESSION] BeginString=FIX.4.4 #...
SocketUseSSL=Y
目前QuickFIX的多个版本中,Java实现了SSL的支持,而C#和C++版本均未实现。定位到了问题,解决方法也容易:使用stunnel。可以参考:https://waiseekweng.wordpress.com/2014/09/08/configure-for-fixn/
相关文章推荐
- 关于iOS多线程Pthreads, NSThread, GCD, NSOperation & NSOperationQueue
- HDU 1005 Number Sequence
- UI10_cell的自适应高度
- UITableViewCell的背景颜色设置
- leetCode #225 Implement Stack using Queues
- 【电视桌面CSWUI】电视桌面(launcher)截图欣赏
- POJ2784&&UVA1151-Buy or Build
- ueditor_v1.4.3_utf8_jsp用于ssh框架时图片的上传
- io资源访问,及request_mem_region和ioremap的理解
- iOS设置UITableViewCell的背景色透明和设置选中背景颜色的方法
- Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp
- iOS 里RGB 配色 UIColor colorWithRed
- CF-Guess Your Way Out!
- HDU 1144 Prerequisites?
- java parseInt 和 valueof 的区别
- HDU - 1815 Building roads (2-SAT)
- 死磕Visual Studio 2010 unsuccessfulbuild因为AlwaysCreate顽疾
- 动态改变cell的高度&beginUpdates和endUpdates-实现UITableView的动画块
- git fork,pull request 参与团队代码开发
- iOS基础-UIKit框架-基础视图-UIScrollView