aspirant
|
Date: 6/9/2011
|
|
|
|
esper Mikhail Sukhov 1. Для этой версии все таки ввернуть поддержку базового клиента (в виде опции). Надеюсь, это не сложно. А если просто ревизии по таблицам сохранять между сессиями? Тогда при переподключении будем скачивать только новые данные. Добавить одну строчку действительно было несложно: Codethis.DataStream.DBConnString = "P2DBSQLite3.dll;sqlite3.ini;{0}.db".Put(this.Table.UniqueName.Replace('\\', '_')); Но при тестировании возникла проблема: если между сессиями меняешь набор колонок в таблице, приходится удалять db файл, и получать данные с нуля. То есть, если пользователь запустил PlazaTrader, инициализировал таблицу 1 с колонками 1,2,3,4, накачал данных, вышел. Подумал-подумал, понял, что нужна еще колонка 5, и добавил ее в инициализацию. Снова запустил PlazaTrader и получил исключение, потому что в db файле в таблице только колонки 1,2,3,4, а плазовсий роутер не умеет менять схему таблиц в db файлах, он только создает их с нуля. Еще: я до конца не разобрался, но, вроде, вытаскивать данные из локальной базы данных (db файл или SQL Server) мы должны сами. Подводя итог, предлагаю временный гибридный вариант: - стаканы: ЛИБО делаем все колонки обязательными (там только одна необязательная: Moment) и при старте получаем данные из локального хранилища, ЛИБО каждый раз получаем с нуля.
- все остальное: храним ревижены между запусками.
Еще 2: у всех таблиц есть индексы (см. ini файлы-схемы). Для безбазового клиента они не нужны, поэтому я их не делал (нужно лопатить каждый класс в метаданных). Без индексов таблицы создаются, но они ведь не зря указываются в файлах-схемах.
|
|
Thanks:
|
|
|
|
|
TestPlaza
|
Date: 6/9/2011
Приветствую! Захотелось проверить старую разработку через Плазу. Переписал робота, получил боевой логин. При запуске программы бросается месседж: "Ошибка подключения к серверу Плазы" Может кто-нибудь написать небольшую инструкцию, как подготовить машину для работы с Плазой через Вашу библиотеку?
|
|
Thanks:
|
|
|
|
|
aspirant
|
Date: 6/9/2011
TestPlaza Приветствую! Захотелось проверить старую разработку через Плазу. Переписал робота, получил боевой логин. При запуске программы бросается месседж: "Ошибка подключения к серверу Плазы" Может кто-нибудь написать небольшую инструкцию, как подготовить машину для работы с Плазой через Вашу библиотеку? К какому серверу подключаетесь (см. файл client_router.ini)? Пришлите лог P2SimpleReplClient.log. Инструкцию сейчас пишу. Как и вся документация, идет не так быстро, как хотелось бы[sad]
|
|
Thanks:
|
|
|
|
|
Mikhail Sukhov
|
Date: 6/9/2011
TestPlaza Приветствую! Захотелось проверить старую разработку через Плазу. Переписал робота, получил боевой логин. При запуске программы бросается месседж: "Ошибка подключения к серверу Плазы" Может кто-нибудь написать небольшую инструкцию, как подготовить машину для работы с Плазой через Вашу библиотеку? Дайте угадаю, в примере ввели логин пароль в текстовый поля? Оставьте их пустыми и просто нажимайте кнопку Подключиться.
|
|
Thanks:
|
|
|
|
|
TestPlaza
|
Date: 6/10/2011
Подключаюсь на 194.247.133.25:4001. Нет, ваш пример я даже не собирал, сразу работаю со своим роботом. 2aspirant: Вечером на ваше мыло сброшу лог.
Может быть проблема с тtм, что я сам не ставил роутер. А использовал тот, который устанавливается с программой LTS Direct.
|
|
Thanks:
|
|
|
|
|
esper
|
Date: 6/10/2011
TestPlaza Подключаюсь на 194.247.133.25:4001. Нет, ваш пример я даже не собирал, сразу работаю со своим роботом. 2aspirant: Вечером на ваше мыло сброшу лог.
Может быть проблема с тtм, что я сам не ставил роутер. А использовал тот, который устанавливается с программой LTS Direct. Лог так же можно сбросить на help@rts.ru, техподдержка у них достаточно оперативная
|
|
Thanks:
|
|
|
|
|
lkor
|
Date: 6/10/2011
TestPlaza Подключаюсь на 194.247.133.25:4001. Нет, ваш пример я даже не собирал, сразу работаю со своим роботом. 2aspirant: Вечером на ваше мыло сброшу лог.
Может быть проблема с тtм, что я сам не ставил роутер. А использовал тот, который устанавливается с программой LTS Direct. Если вы подключаетесь к тестовому серверу то адрес должен быть 194.247.133.43:3001 (или beta-forts.rts.ru:3001 что одно и то же). Соберите пример, проверьте работает ли он. Если да, то проблема в вашем приложении, если нет, то нада искать проблему в роутере. Ссылки на установщики роутеров есть тут.
|
|
Thanks:
|
|
|
|
|
TestPlaza
|
Date: 6/14/2011
|
|
|
|
Я подключаюсь к боевоему серверу. С тех.поддержкой РТС не связывался, так как может проблема в неправильном использовании Вашего фреймворка. Удалил роутер который устанавливался с LTSD. Установил P2_ClientGate1.11.5_32.exe c ftp РТС. Это не решило проблему - "Ошибка подключения к серверу Плазы" Лог роутера Quote:[p2syslog:trace:p2mq-cli] MQ library started=1 info=1 New connection created;mq-conn 0x%X=0 Socket created;conn 0x%X;sock 0x%X=0 Socket connected;conn 0x%X;host '%s';port %u=1 Recv completed;;conn 0x%X;count %d; data %#.*Z=0 CConnection::RecvLLMsg();InHdr %d;recvLen %d;recvRem %d=0 CConnection::RecvLLMsg();system_type 0x%X=0 LLMsg received;mq-conn 0x%X;type 0x%X;ver 0x%X;len %u;flags 0x%X;sign 0x%X%X%X%X;body %#.*Z=0 RecvLLMsg() finished;res %X;inHdr %d;recvRem %d=0 Router status received;mq-conn 0x%X;state 0x%X;node_name '%s';login_id %u=0 LLMsg is sent;mq-conn 0x%X;type 0x%X;len %u;oper_num %d=0 Operation result received;mq-conn 0x%X;type 0x%X;len %u;oper_num %d;res 0x%X('%s')=0 Posting message: to '%s'; cat: '%s'; type %d; size %d; bodySize: %d=0 New message added to recvList. Size: %d=0 Socket closed;conn 0x%X=1 Connection released;mq-conn 0x%X=0 MQ library stopped=1 Socket closed by peer;conn 0x%X=1 Socket created;conn 0x%p;sock 0x%p=0 Socket connected;conn 0x%p;host '%s';port %u=1 Recv completed;;conn 0x%p;count %d; data %#.*Z=0 LLMsg received;mq-conn 0x%p;type 0x%X;ver 0x%X;len %u;flags 0x%X;sign 0x%X%X%X%X;body %#.*Z=0 Router status received;mq-conn 0x%p;state 0x%X;node_name '%s';login_id %u=0 LLMsg is sent;mq-conn 0x%p;type 0x%X;len %u;oper_num %d=0 Operation result received;mq-conn 0x%p;type 0x%X;len %u;oper_num %d;res 0x%X('%s')=0 Socket closed;conn 0x%p=1 Socket select finished with error in socket;conn 0x%p;sock_err %r=1 error=1 Couldn't connect socket;conn 0x%p;host '%s';port %u;timeout %u;sock_err %r=1
[p2syslog:trace:p2repl-cli] Client replication library started=1 info=1 Stream created;stream 0x%X=1 Stream opening started;stream 0x%X;type %d;name '%s';server_addr '%s';db_conn '%s'=1 Stream opened;stream 0x%X;channel 0x%I64X=1 Scheme setting started;stream 0x%X=1 Scheme is set;stream 0x%X;channel 0x%I64X=1 Statistics module '%s' was successfully registered=1 Statistics was registered;stream name %s=1 Data requested;stream 0x%X;channel 0x%I64X;session %d=1 CLEAR_DELETED message received;stream 0x%X=1 CLOSE message posted;stream 0x%X=1 Statistics module was unregistered, module name %s=1 Stream destroyed;stream 0x%X=1 Client replication library stopped=1 DATA message received;stream 0x%X=1 Begin transaction=1 Preprocessing received record;stream 0x%X;table_idx %u;rec_rev %I64u=0 Processing received record;stream 0x%X %s; table_idx %u;rec_rev %I64u=1 Commit transaction=1 ACK message posted;stream 0x%X=1 Stream is on-line;stream 0x%X=1 PING message posted;stream 0x%X=1 COUNTED_PING message received;stream 0x%X=0 Couldn't open db-connection;stream 0x%X;db_conn '%s'=1 error=1 Couldn't connect to DB;stream 0x%X;db_conn '%s'=1 Stream created;stream 0x%p=1 Stream opening started;stream 0x%p,type %d,name '%s',server_addr '%s'=1 Stream opened;stream 0x%p;channel 0x%I64X=1 Scheme setting started;stream 0x%p=1 Scheme is set;stream 0x%p;channel 0x%I64X=1 Statistics module for table '%s' was successfully registered=1 Data requested;stream 0x%p;channel 0x%I64X;session %d=1 CLOSE message received;stream 0x%p=1 Stream is being closed by server;stream 0x%p,reason 0x%X(%d)=1 CLEAR_DELETED message received;stream 0x%p=1 DATA message received;stream 0x%p=1 Stream is on-line;stream 0x%p=1 ACK message posted;stream 0x%p=1 CLOSE message posted;stream 0x%p=1 PING message posted;stream 0x%p=1 COUNTED_PING message received;stream 0x%p=1
[p2syslog:trace:db] connection with driver %s created=1 info=1
[p2syslog:trace:SQLLite] SQL: %s=0 info=0 Processing ini-file '%s' with additional connection settings=0
[p2syslog:trace:P2ClientGate] Notification not handled ; notif %I32d; datastream 0x%X=0 Couldn't set message body; message 0x%X=1 error=1 Before P2MQGetMsg for MQ conn %p=0 Before P2ReplProcessMessage for MQ conn %p and MQ msg %p=0 After P2ReplProcessMessage for MQ conn %p and MQ msg %p=0 Stream %s switched to snapshot server %s=1 info=1 Stream %s switched to online server %s=1
[p2syslog:trace:RETURN_P2ERR] Line %s:%d=0
[p2syslog:trace:Scheme] Opened db handles %d, opened table handles %d, opened fld handles %d=1 info=1
[p2syslog:trace:NULL Fields] Parse NULL fields %d=0
[p2syslog:trace:p2db-odbc] Couldn't establish connection;conn_str '%s';sql-error %d;descr '%s'=1 error=1 Connection established;conn_str '%s';dbc 0x%p=1 info=1 Connection closed;dbc 0x%p=1 Executing SQL-statement;sql '%s';stmt 0x%p=0 Couldn't execute prepared SQL-statement;stmt 0x%p;sql-error %d;descr '%s'=1 Preparing SQL-statement;sql '%s';stmt 0x%p=0 Executing prepared SQL-statement;stmt 0x%p=0
[p2syslog:trace:p2db] Startup statements from ini-file were successfully executed=0
[p2syslog:trace:P2ReplStorage] DB policy on conn-str created;stream 0x%p,policy 0x%p=1 info=1 DB policy on conn-str deleted;stream 0x%p,policy 0x%p=1 Preprocessing received record;stream 0x%X;table_idx %u;rec_rev %I64u=0 Processed received record;stream 0x%X %s; table_idx %u;rec_rev %I64u=1 Revision adjustment;stream 0x%X;table_idx %u;cur_rev %I64d; new_rev %I64d=1
[p2syslog:trace:ReplUtils] CLEAR_OLD_REV table %s; minRev %I64d; clearRev %I64d;deletion step %d=1 info=1
|
|
Thanks:
|
|
|
|
|
esper
|
Date: 6/14/2011
Это не лог роутера, а файл конфигурации логирования
|
|
Thanks:
|
|
|
|
|
transdex
|
Date: 6/14/2011
|
|
|
|
Опыт установки: Исходные ингридиенты: Установщик роутера: P2_ClientGate1.11.5_32.exe PlazaTrader: отсюда: http://box.net/plaza версия от 30.05.2011 Как я понял этот вариант (в отличие от первого от 17.05.2011) сделан под базовую авторизацию: "Базовый способ: аутентификационная информация, т.е. имя пользователя и пароль, указывается в ini-файле роутера, например, при установке P2ClientGate из дистрибутива. При этом клиентский код ничего не знает про аутентификацию. В силу простоты – рекомендуемый метод." Соответственно пароль находится в открытом виде в .ini файле. Если роутер установлен не как сервис его надо запустить вручную. Плаза-трейдер просто тупо коннектится к локальному 4001 порту. Кстати почему-то все время подразумевается что локальный порт и удаленный одинаковы и равны 4001, что не всегда так. При установке Роутера вводим адреса и порты сервера Plaza(локальный порт можно изменить в .ini файле), выбираем MTA библиотеку, выбираем установку как сервис или отдельно запускаемое приложение по желанию,а также логин и пароль на подключение к плазе. Если роутер установлен как сервис просто запускаем SampleGUI и жмем на кнопку подключить. Если роутер не сервис, предварительно запускаем роутер файликом start_router.cmd из папки куда установлен роутер. После чего как обычно пишут в Microsoft, можно откинуться на спинку стула и выпить чашечку кофе... В связи с последним на первое время не помешала бы галочка "Не загружать сделки и заявки при старте", аналогично как есть в Cofite SDK.
|
|
Thanks:
|
|
|
|