S#

Проблемы в работе Гидры с P2MQrouter установленном нелокально


Проблемы в работе Гидры с P2MQrouter установленном нелокально
Atom Ответить
09.11.2012


Система:
1.На шлюзовом компьютере с IP 192.168.1.34 установлен P2MQrouter.
2.В client_router.ini вставлена секция [AS:Local] с AppName:HYD и local Password:1234
3.На клиентском компьютере с IP 192.168.1.33 установлена библиотека P2ClientGate и скомпилированы Hydra и SampleGUI из сборки 20404.

Проблема:
При включении источника Plaza со следующими настройками
-Адрес:192.168.1.34:4001
-Логин:HYD
-Пароль:1234
-Префикс имени:HYD
Гидра выдает следующую ошибку:

Цитата:
11:24:33.534|Error |PlazaTrader|StockSharp.Plaza.PlazaException: Ошибка Плазы. Код -2147196925, описание 'P2ERR_MQ_NOT_CONNECTED_YET'. ---> System.Runtime.InteropServices.COMException: Coudn't MQ logout
в P2ClientGateMTA64.CP2ConnectionClass.Logout()
в #=qopuHoTj70RHTAwYGUkMq8rDnEpgrQm9NeZ4rvFnMH8fmLvP_ff27TQLJt6YjdSJf.#=qgqoC10X0qHzuUR7bG$HBSv8MMr2bjj8bfxo2xWvvAkA=.#=qBfM8hCtlEi5wmQMLgdeu_zGNa1nOuKMfQmBq_K$khpg=()
в #=qopuHoTj70RHTAwYGUkMq8rDnEpgrQm9NeZ4rvFnMH8fmLvP_ff27TQLJt6YjdSJf.#=qB7yO97ooRosrSlcDa29f2w==(Action #=qfsC_wXrdAielcz9lVvhmSw==, Action #=qngHFngecQXFA92B34UlSeA==)


В логе P2MQrouter появились следующие записи:
Цитата:
2012-11-09 11:44:01.235;conn;;Incoming connection accepted;sock 0x2A4;ip '192.168.1.33';port 1813;thread 0x780
2012-11-09 11:44:01.235;conn;;Connection object created;LUID 0x8;iConn 0x11E8730;IOCP_key 0x6;outgoing 0;host '192.168.1.33';port 1813;sock 0x2A4;IOSocket 0x11E8480;thread 0x780
2012-11-09 11:44:01.235;conn_crypt;;ConnCrypto object created; conn_crypt 0x11E89B0; not default up link;thread 0x780
2012-11-09 11:44:01.235;datadisp;;Connection created;iConn 0x11E8730;iCrypto 0x11E89B4;iMsgConn 0x11E87DC;LUID 0x8;host '192.168.1.33';port 1813;outgoing 0;def 0;thread 0x780
2012-11-09 11:44:01.235;conn;;Socket sndbuf sz set to 1048576;iConn 0x11E8730-3;sock 0x676;thread 0x780
2012-11-09 11:44:01.235;conn;;Socket rcvbuf sz set to 1048576;iConn 0x11E8730-3;sock 0x676;thread 0x780
2012-11-09 11:44:01.235;conn;;TCP_NODELAY option set for socket;iConn 0x11E8730-3;sock 0x2A4;thread 0x780
2012-11-09 11:44:01.235;conn;;Ingoing connection ready for send;iConn 0x11E8730-3;thread 0x780
2012-11-09 11:44:01.235;conn_crypt;;Incoming connect, state changed; conn_crypt 0x11E89B0; old_state stDisconnected(0); new_state stConnected(1);thread 0x780
2012-11-09 11:44:01.235;conn;;Connection acception finished successfully;host '192.168.1.33';port 1813;iConn 0x11E8730;thread 0x780
2012-11-09 11:44:01.235;conn_crypt;;Connection type was successfully received, state changed; conn_crypt 0x11E89B0; old_state stConnected(1); new_state stConnectType(2);thread 0x674
2012-11-09 11:44:01.235;conn_crypt;error;p2err 28674=0x7002 - 'MQCRYPT:BAD_AUTH_INFO';Local password for application - 'HYD_0' ; conn_crypt 0x11E89B0;thread 0x674
2012-11-09 11:44:01.235;conn_crypt;error;p2err 28674=0x7002 - 'MQCRYPT:BAD_AUTH_INFO';Local authentication error; conn_crypt 0x11E89B0; state stConnectType(2);thread 0x674


Таким образом соединение установлено, но аутентификация не прошла.

Возможные причины:
В PlazaTraderSource отсутствует понятие локального пароля, хотя AppName (префикс имени) присутствует.

Предложение:
Добавить local password включая его ввод и редактирование в источнике Plaza.

Теги:


Спасибо:




10 Ответов
Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 09.11.2012
Ответить


greg_bond Перейти

Возможные причины:


Вероятная причина - не сервере не настроили аутентификацию у роутера.
Спасибо:

greg_bond

Фотография
Дата: 09.11.2012
Ответить


Mikhail Sukhov Перейти
greg_bond Перейти

Возможные причины:


Вероятная причина - не сервере не настроили аутентификацию у роутера.


Если имеется ввиду шлюзовой компьютер локальной сети, то он настроен согласно документации на шлюз Plaza2 (ftp://ftp.ux.ua/pub/support/FORTS/FortsTest/Doc/P2ClientGate.doc)- конкретнее согласно Приложения 2 P2ClientGate.doc (стр.30).

Более того в логе роутера MqCryptoServ предупреждает, что local password не зашифрован.

Автор топика
Спасибо:

esper

Фотография
Программист
Дата: 09.11.2012
Ответить


Цитата:
2.В client_router.ini вставлена секция [AS:Local] с AppName:HYD и local Password:1234

Суть в том, что AppName будет не HYD, их будет несколько HYD_0, HYD_1 и т.д.
Спасибо:

greg_bond

Фотография
Дата: 09.11.2012
Ответить


esper Перейти
Цитата:
2.В client_router.ini вставлена секция [AS:Local] с AppName:HYD и local Password:1234

Суть в том, что AppName будет не HYD, их будет несколько HYD_0, HYD_1 и т.д.


Собственно так и сделано, просто опустил чтобы не загромождать.
Для работы Гидры с двух клиентских компьютеров были прописаны:
[AS:Local]
HYD1_0=1234
HYD1_1=1234
HYD1_2=1234
HYD1_3=1234
HYD1_4=1234
HYD2_0=4321
HYD2_1=4321
HYD2_2=4321
HYD2_3=4321
HYD2_4=4321

AppName роутер получает видит, а вот пароль нет.
Я пока не разобрался в механизме аутентификации между роутером и приложением, но если роутер запрашивает у приложения local password, то Гидра его естественно не дает, поскольку такого поля в PlazaTrader нет.

Автор топика
Спасибо:

esper

Фотография
Программист
Дата: 09.11.2012
Ответить


У PlazaTrader есть Password, он же есть в настройках Гидры. Если его задать то ошибка так же повторяется?
Спасибо:

greg_bond

Фотография
Дата: 09.11.2012
Ответить


esper Перейти
У PlazaTrader есть Password, он же есть в настройках Гидры. Если его задать то ошибка так же повторяется?


Да.
Видимо потому, что Password в P2MQrouter является паролем для подключения к бирже о чем есть даже пункт с предупреждением в API (стр.30 P2ClientGate.doc Описание API ):
Цитата:
Пароль локального соединения и пароль для аутентификации приложения в сети Plaza-II – это разные вещи! Нельзя их путать.
Автор топика
Спасибо:

esper

Фотография
Программист
Дата: 09.11.2012
Ответить


А логин при этом задан? Если задан и логин и пароль, то эти данные используются для подключения, если задан только пароль, то он используется как пароль локального соединения.
Спасибо:

greg_bond

Фотография
Дата: 12.11.2012
Ответить


esper Перейти
А логин при этом задан? Если задан и логин и пароль, то эти данные используются для подключения, если задан только пароль, то он используется как пароль локального соединения.


Удалил StockSharp.db.
Запустил Гидру.
Отредактировал источник Плаза, логин не задавал.
Логирование прошло успешно.
Поступление информации проверю после открытия торгов.

Спасибо за помощь.

Автор топика
Спасибо:

greg_bond

Фотография
Дата: 14.11.2012
Ответить


greg_bond Перейти

Удалил StockSharp.db.
Запустил Гидру.
Отредактировал источник Плаза, логин не задавал.
Логирование прошло успешно.
Поступление информации проверю после открытия торгов.

Спасибо за помощь.



Попытка проверить поступление информации с Украинской биржи провалилась.
Причина: P2MQRouter из шлюза версии 1.14.5_х64 не работает со StockSharp.
SampleGUI выдает следующий лог:
Цитата:
2012-11-14 09:50:40.126;p2mq-cli;;MQ library started.
2012-11-14 09:50:40.142;p2repl-cli;;Client replication library started
2012-11-14 09:50:40.329;p2mq-cli;;Socket connected;conn 0x1B8A4DE0;host '127.0.0.1';port 4001
2012-11-14 09:50:40.501;p2mq-cli;;Connection 0x1B8A4BF8 connected; connID 1
2012-11-14 09:50:40.938;p2mq-cli;;Socket connected;conn 0x1B8A61A8;host '127.0.0.1';port 4001
2012-11-14 09:50:40.938;p2mq-cli;;Socket connected;conn 0x1B8A6898;host '127.0.0.1';port 4001
2012-11-14 09:50:40.938;p2mq-cli;;Connection 0x1B8A5FC0 connected; connID 2
2012-11-14 09:50:40.938;p2mq-cli;;Socket connected;conn 0x1B8A6FA8;host '127.0.0.1';port 4001
2012-11-14 09:50:40.953;p2mq-cli;;Socket connected;conn 0x1B8A7FB8;host '127.0.0.1';port 4001
2012-11-14 09:50:41.000;p2mq-cli;;Connection 0x1B8A66B0 connected; connID 3
2012-11-14 09:50:41.000;p2mq-cli;;Connection 0x1B8A6DC0 connected; connID 4
2012-11-14 09:50:41.078;p2mq-cli;;Connection 0x1B8A7DD0 connected; connID 5
2012-11-14 09:50:41.234;P2ClientGate;error;p2err 2=0x2 - 'COMMON:WRONG_ARGUMENTS';Couldn't get life num scheme
2012-11-14 09:50:41.234;P2ClientGate;error;p2err 2=0x2 - 'COMMON:WRONG_ARGUMENTS';Couldn't get life num scheme
2012-11-14 09:50:41.234;P2ClientGate;error;p2err 2=0x2 - 'COMMON:WRONG_ARGUMENTS';Couldn't get life num scheme
2012-11-14 09:50:41.234;P2ClientGate;error;p2err 2=0x2 - 'COMMON:WRONG_ARGUMENTS';Couldn't get life num scheme
2012-11-14 09:50:41.359;P2ClientGate;;Statistics module was unregistered, module name P2ClientGate@CP2Connection
2012-11-14 09:50:41.359;P2ClientGate;;Statistics module was unregistered, module name P2ClientGate@CP2Connection
2012-11-14 09:50:41.359;p2mq-cli;;Socket closed;conn 0x1B8A6898
2012-11-14 09:50:41.359;p2mq-cli;;Socket closed;conn 0x1B8A6FA8
2012-11-14 09:50:41.359;P2ClientGate;;Statistics module was unregistered, module name P2ClientGate@CP2Connection
2012-11-14 09:50:41.359;p2mq-cli;;Socket closed;conn 0x1B8A7FB8
2012-11-14 09:50:41.374;P2ClientGate;;Statistics module was unregistered, module name P2ClientGate@CP2Connection
2012-11-14 09:50:41.374;p2mq-cli;;Socket closed;conn 0x1B8A61A8
2012-11-14 10:00:02.198;P2ClientGate;;Statistics module was unregistered, module name P2ClientGate@CP2Connection
2012-11-14 10:00:02.198;p2mq-cli;;Socket closed;conn 0x1B8A4DE0


Если я правильно понял то при попытке чтения информации из потока FORTS_FUTCOMMON_REPL идет конфликт форматов.
В техподдержке Украинской биржи заверили, что в схему шлюза 1.14.1_х64 были внесены изменения.
Однако анализ показал, что данные изменения потока COMMON не коснулись.
Более того, сравнение файлов схем шлюзов версий 1.14.1_х64 и 1.14.5_х64 показало их полную идентичность, подчеркну до бита.
Пришлось поставить шлюз версии 1.14.1_х64, который работает.

Есть ли у кого-нибудь объяснение сему факту?
И подскажите как самому изменять ini-файлы в папке Configs при изменении схем биржей.

Автор топика
Спасибо:

Alexander

Фотография
Дата: 15.11.2012
Ответить


Посмотрите последнюю версию
Спасибо: Mikhail Sukhov


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy