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


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

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

            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] Юрий: Заработало.

Теги:


Спасибо:




5 Ответов
FlashPlayer

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


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

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

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

IvanB

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


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

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

FlashPlayer

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


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

IvanB

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


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

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

FlashPlayer

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


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


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

loading
clippy