Время установления связи со SmartCOM вышло
Atom Ответить
06.06.2012


raf

Фотография
после установки связи, получения списка Securities с сервера я начинаю подписку на получение данных и происходит обрыв связи.
trader.ConnectionError возвращает Message "Время установления связи со SmartCOM вышло"
Попытки восстановить соединение в режиме AutoReConnect не приводит к успеху:
Подключение к SmartCOM не инициализировано. trader.ConnectionError.Message:
в StockSharp.Smart.SmartComWrapper.#=qisONmiwB5tu5zesjiVEMEw==(Action`1 #=q1pQ_I2KLhT$Ktydh56FY7A==)
в StockSharp.Smart.SmartComWrapper.#=qVpeuRlF$Kfqnn65XX8fzZQ==()
в StockSharp.Smart.SmartComWrapper.Disconnect()
в StockSharp.Smart.SmartTrader.OnDisconnect()
в StockSharp.Algo.BaseTrader.Disconnect()
в StockSharp.Algo.BaseTrader.#=qel4e2JQNZFjbJuoeJ1HN7w==()

Теги:


Спасибо:




13 Ответов
Mikhail Sukhov

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


Sample так же выдает ошибку?
Спасибо:

raf

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


Mikhail Sukhov Перейти
Sample так же выдает ошибку?

думаю, с ним будет все нормально. Как мне кажется, проблема возникает в момент пиковых вычислительных нагрузок (при том при всем, что большая часть из них запускаются в отдельных потоках), когда по каждому событию SecurityChanged (и др.) происходят "медленные" вычисления. Как я понимаю где-то в реализации SmartCom шлюза стоит таймер на отклик или контроль переполнения буфера по какому-либо событию или я не знаю как там еще может быть... вам виднее. Есть ли какие-либо параметры шлюза Trader, которые помогут преодолевать моменты пиковых вычислительных нагрузок (контроль буферов, времени отклика и т.п.)?
Автор топика
Спасибо:

Mikhail Sukhov

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


У нас в трейдере события вызываются из отдельной очереди, чтобы не тормозить SmartCOM колбэки. Тоесть из-за длительных операций в обработчике максимум что будет - это будет расти потребление памяти (данные будут приходить быстрее, чем их обработка). В вашей ситуации скорее всего происходит или общее снижение производительности (думаю, понятно, что даже несколько потоков на 1 ядре - это физически всего 1 поток), или еще какие глюки. Искать советую путем отключения разных функциональностей. Надо найти закономерность в вашем коде. Нам, сами понимаете, это сделать нереально.
Спасибо:

vk37

Фотография
Курсы
Дата: 26.09.2012
Ответить


Та же ошибка: Время установления связи со SmartCOM вышло. 8 ядер, 16ГБ оперативки. Вряд ли вопрос в скорости.
Спасибо:

Mikhail Sukhov

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


vk37 Перейти
Та же ошибка: Время установления связи со SmartCOM вышло. 8 ядер, 16ГБ оперативки. Вряд ли вопрос в скорости.


Я думаю это связанно вовсе не проблемой топик-стартера, а с тем, что у вас смартком временами помирает.
Спасибо:

Marco

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


Замечено, что SmartCOM часто (да что уж там, практически всегда.. :) ) умирает при его одновременном использовании из нескольких программ. При некорректном завершении одного из клиентов SmartCOM остальным клиентам просто перестают приходить события, а новые подключения к SmartCOM становятся невозможны.

P.S.: IMHO.
Спасибо: Кот Матроскин

Mikhail Sukhov

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


Marco Перейти
Замечено, что SmartCOM часто (да что уж там, практически всегда.. :) ) умирает при его одновременном использовании из нескольких программ.


Разве это поддерживается? Чтобы к одному смарту несколько программ подключалось?
Спасибо:

Marco

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


Не знаю, насколько оно официально поддерживается, но если подключаться под разными логинами - все работает (до тех пор, пока одна из программ не будет некорректно закрыта).
Спасибо:

Alexander

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


Через личный кабинет можно понизить безопасность, тогда тоже работает (по крайней мере раньше работало).
Спасибо:

Mikhail Sukhov

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


Marco Перейти
Не знаю, насколько оно официально поддерживается, но если подключаться под разными логинами - все работает (до тех пор, пока одна из программ не будет некорректно закрыта).


Под разными логинами к одному СмартКом сервису? Не знал.
Спасибо:

Marco

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


Mikhail Sukhov Перейти

Под разными логинами к одному СмартКом сервису? Не знал.

Да. У IT-Invest'а можно запросить несколько логинов для SmartCOM.
Спасибо:

vk37

Фотография
Курсы
Дата: 10.12.2012
Ответить


Marco Перейти
Да. У IT-Invest'а можно запросить несколько логинов для SmartCOM.

Тех поддержка смарткома рекомендует использовать одно подключение к одному сервису. Хотя можно установить более одного подключения к одному сервису при каких-то условиях. Если нужно сделать несколько подключений к серверу IT инвест, то рекомендуется каждое подключение организовывать с отдельного компа или с отдельной виртуальной машины. Также, чтобы избежать ошибок в работе смарткома, каждое подключение нужно делать под своим логином.
Спасибо:

vk37

Фотография
Курсы
Дата: 10.12.2012
Ответить


vk37 Перейти
Та же ошибка: Время установления связи со SmartCOM вышло. 8 ядер, 16ГБ оперативки. Вряд ли вопрос в скорости.
У меня такая ошибка, похоже, была по причине медленного интернет соединения. После того, как перешел к другому интернет провайдеру, не помню уже когда она была в последний раз.

Спасибо:


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

loading
clippy