← Zurück

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

после установки связи, получения списка 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==()

War dieses Thema hilfreich?

Thema teilen

Kommentare (13)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

Mikhail Sukhov
Mikhail Sukhov

Sample так же выдает ошибку?

raf
raf Autor

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

Mikhail Sukhov
Mikhail Sukhov

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

vk37
vk37

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

Mikhail Sukhov
Mikhail Sukhov

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

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

vk37
vk37

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

Marco
Marco

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

P.S.: IMHO.

Кот Матроскин
Mikhail Sukhov
Mikhail Sukhov

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

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

Marco
Marco

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

Mikhail Sukhov
Mikhail Sukhov

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

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

Marco
Marco

Mikhail Sukhov: Под разными логинами к одному СмартКом сервису? Не знал. Да. У IT-Invest'а можно запросить несколько логинов для SmartCOM.

vk37
vk37

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

Alexander
Alexander

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