2012-05-24 42 views
1

我编译并围绕quickfix(http://www.quickfixengine.org)源代码和示例。我认为一个好的起点是编译(C++)并运行'executor'示例,然后使用'tradeclient'示例连接到'executor',并发送订单请求。 我创建了两个独立的会话文件,一个是作为接受者的'执行者',另一个是'tradeclient'作为发起者。他们都在同一台Win7电脑上运行。quickfix会话配置问题

'executor'运行,但贸易客户端无法连接到它,我不明白为什么。我下载了Mini-fix并能够发送消息给执行者,所以我知道执行者正在工作。我认为问题出在tradeclient会话设置上。我在下面列出了他们两个,我希望有人能指出是什么导致他们无法沟通。他们俩都在同一台计算机上使用端口56156.

--accceptor 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 

--------结束-------

更新:感谢您的共鸣...原来,我的日志文件目录不存在。一旦我创建了它们,它们都开始了沟通。一定是一些没有抛出异常的日志记录错误,但禁用了正确的行为。

是否存在我应该检查的错误条件?我依靠例外,但这显然是不够的。

+0

您能否提供连接器 – robthewolf

回答

0

尝试对接受设置TargetCompIDSenderCompID*

+1

的日志我试过了,得到了以下结果:“配置失败:无法打开正文文件:store \ FIXT.1.1 - \ * - \ *。body”。我认为\ *不能在消息存储中用作文件名的一部分。 –

+0

我对我的接受者设置没有任何问题。虽然我没有使用FIXT1.1,但我怀疑这与它有什么关系。 – robthewolf

+0

您正在使用哪个FIX版本 –

1

这似乎并没有被配置,检查您的邮件序列号都在同步,特别是因为你一直在使用连接到不同的服务器相同的设置。

+0

我在哪里设置/重置这些序列号?当我杀死/重新启动接受器服务器时,它们不会重置吗?或者它生活在某些日志文件中? –

+0

他们在SeqNums文件中,只是删除它重置。他们必须坚持序列号,因为一些交易对手(大部分来自我的经验)坚持序列号。 –

+0

也看看这个http://www.quickfixengine.org/quickfix/doc/html/configuration.html#Session这部分的底部显示了如何设置会话来重置序列号。 – robthewolf