Подключение к PlazaII(Тестовый сервер)


Подключение к PlazaII(Тестовый сервер)
Atom
3/28/2013


Вопросы/ответы - Skype

Артем, добрый день. Вы не подскажите по какой причине вот такой вот код (только он есть в проекте):
Code

            public readonly PlazaTrader _trader = new PlazaTrader();

            const string adress = "127.0.0.1:4001";
            _trader.Address = adress.To<IPEndPoint>();

            _trader.Connected += () =>
            {

            };
            _trader.Connect();

может не коннектится к тестовой плазе?
Причем самое важное и главное - пример SampleGUI коннектится и в нем, в обработчике нажатия Connect я оставил ровно такой же код..
Логин/пароль введены были при установке роутера (ну это и не важно - семпл гуи же коннектится без лог пасса)..
[27.03.2013 20:06:02] Самунджян Артём: Построить под x64
[27.03.2013 20:07:54 | Изменены 20:09:29] Юрий: а пример то под любой проц построен..
[27.03.2013 20:07:59] Юрий: сейчас попробую
[27.03.2013 20:08:37] Юрий: А как так?)
[27.03.2013 20:09:00] Юрий: Заработало.



Thanks:


FlashPlayer

Avatar
Date: 4/3/2013
Reply


Ну на самом деле тайна то не разгадана). SampleGUI собран под AnyCpu, но мой пример не коннектится, если собрать под AnyCpu. Хотелось бы понять какая должна быть связь между разрядностью операционки, типом разрядности роутера и собственно проекта с подключением? А то так можно долго промучиться, совсем не понимая почему не работает, когда дело всего лишь в типе системы, под которую собран проект.

Знаю одну важную особенность про Гидру, примерно из этой сферы. Проект Гидры (именно гидры, не Core и не Plugins) должен быть собран под ту разрядность, какой разрядности у вас роутер. То есть если операционка x64, а роутер стоит x32, то проект Гидры должен быть собран под x32, а проекты Core и Plugins под AnyCpu.

Выражаю благодарность Артему, за то, что он оперативно помог в разрешении этой проблемы. Теперь жду чуть более развернутого объяснения, думаю оно будет всем интересно ;)
Спасибо!
Thanks:

IvanB

Avatar
Date: 4/4/2013
Reply


А вся тайна в том, что механизм обмена данными с роутером зависит от разрядности этого роутера. Т.е. хотите работать с 32-битным роутером, то используйте 32-битный клиент, и также, если хотите работать с 64-битным роутером, то используйте 64-битный клиент.
Подкрепляю слова ссылками на код, подтверждающий это:
http://stocksharp.codepl...geset/view/23281#362585
В этом коде мы можем видеть что есть разные объекты подключения для 32 и 64 разрядного приложения.
http://stocksharp.codepl...geset/view/23281#362592
А здесь класс, который собственно, выбирает какой объект подключения создать.

Надеюсь, теперь все стало ясно?
Thanks:

FlashPlayer

Avatar
Date: 4/4/2013
Reply


Спасибо. Ясно, но не до конца..) Почему работает пример SampleGui, собранный под AnyCPU, а если самому попробовать собрать простенькое приложение под AnyCPU - коннектиться откажется.
Thanks:

IvanB

Avatar
Date: 4/5/2013
Reply


FlashPlayer Go to
Спасибо. Ясно, но не до конца..) Почему работает пример SampleGui, собранный под AnyCPU, а если самому попробовать собрать простенькое приложение под AnyCPU - коннектиться откажется.

Посмотрите в диспетчере задач какой статус разрядности имеет процесс клиента SampleGui и роутера, вероятно они совпадают.
Если у них разрядность 64, то все логично: система 64 разряза, процесс запущенный с AnyCPU будет запускаться с разрядностью системы. Но почему при этом ваш клиент не работает с AnyCPU, затрудняюсь ответить, быть может надо проверить статус разрядности и этого процесса, вдруг он запущен как 32-х разрядный, тогда все правильно и логично.
Снимок.PNG 45 KB (524)
Thanks: Самунджян Артем

FlashPlayer

Avatar
Date: 4/5/2013
Reply


Спасибо, Иван. Буду разбираться!
Thanks:


Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy