我已经编译并浏览了 quickfix ( http://www.quickfixengine.org ) 源代码和示例。我认为一个好的起点是编译(C++)并运行“executor”示例,然后使用“tradeclient”示例连接到“executor”,并向其发送订单请求。我创建了两个单独的会话文件,一个用于“执行者”作为接受者,一个用于“贸易客户”作为发起者。它们都在同一台 Win7 电脑上运行。
'executor' 运行,但 tradeclient 无法连接到它,我不知道为什么。我下载了 Mini-fix 并能够向 executor 发送消息,所以我知道 executor 正在工作。我认为问题出在 tradeclient 会话设置上。我已将它们都包括在下面,我希望有人能指出导致它们无法交流的原因。它们都使用端口 56156 在同一台计算机上运行。
--acceptor session.txt----
[DEFAULT]
ConnectionType=acceptor
ReconnectInterval=5
SenderCompID=EXEC
DefaultApplVerID=FIX.5.0
[SESSION]
BeginString=FIXT.1.1
TargetCompID=SENDER
HeartBtInt=5
#SocketConnectPort=
SocketAcceptPort=56156
SocketConnectHost=127.0.0.1
TransportDataDictionary=pathToXml/spec/FIX50.xml
StartTime=07:00:00
EndTime=23:00:00
FileStorePath=store
---- 发起者 session.txt ---
[DEFAULT]
ConnectionType=initiator
ReconnectInterval=5
SenderCompID=SENDER
DefaultApplVerID=FIX.5.0
[SESSION]
BeginString=FIXT.1.1
TargetCompID=EXEC
HeartBtInt=5
SocketConnectPort=56156
#SocketAcceptPort=56156
SocketConnectHost=127.0.0.1
TransportDataDictionary=pathToXml/spec/FIX50.xml
StartTime=07:00:00
EndTime=23:00:00
FileLogPath=log
FileStorePath=store
- - - - 结尾 - - -
更新:感谢您的共鸣...原来我的日志文件目录不存在。一旦我创建了它们,它们就开始交流。一定是一些没有引发异常但禁用正确行为的日志记录错误。
是否有我应该检查的错误情况?我依赖异常,但这显然还不够。