2012-05-24 77 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