2012-05-24 5 views
1

Я скомпилировал и обработал источник quickfix (http://www.quickfixengine.org) и примеры. Я решил, что хорошей отправной точкой было бы скомпилировать (C++) и запустить пример «executor», а затем использовать пример «tradeclient» для подключения к «исполнителю» и отправить его запросы на заказ. Я создал два отдельных файла сеанса один для «исполнителя» в качестве акцептора, а другой для «tradeclient» в качестве инициатора. Они оба работают на одном компьютере Win7.Проблемы с настройкой сеанса fastfix

Выполняется «исполнитель», но tradeclient не может подключиться к нему, и я не могу понять, почему. Я загрузил 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

Попробуйте установить TargetCompID и SenderCompID на акцепторе *

+1

Я пробовал это и получил следующее: «Ошибка конфигурации: не удалось открыть файл body: 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

Смежные вопросы