← Voltar

Время установления связи со 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==()

Este tópico foi útil?

Compartilhar tópico

Comentários (13)

Entrar ou Criar conta, Faça login ou cadastre-se para deixar um comentário

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

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