Mikhail Sukhov
|
Date: 11/28/2013
|
|
Thanks:
|
|
|
|
|
MenDel
|
Date: 11/29/2013
Обновился. Проблема осталась. Изменилось описание ошибки: "Подключение к системе изменило свое состояние. Текущее состояние клиента Connecting. Сообщение типа 'DisconnectMessage'." Добавлю Терминал SmartTrade выдает ошибку Ваш терминал блокирован. Программа этого не понимает и происходит вечный коннект, ошибки нет.
|
|
Thanks:
|
|
|
|
|
Mikhail Sukhov
|
Date: 11/29/2013
MenDel Изменилось описание ошибки: "Подключение к системе изменило свое состояние. Текущее состояние клиента Connecting. Сообщение типа 'DisconnectMessage'."
http://stocksharp.com/posts/m/28490/
|
|
Thanks:
|
|
|
|
|
MenDel
|
Date: 11/29/2013
Михаил Сухов MenDel Изменилось описание ошибки: "Подключение к системе изменило свое состояние. Текущее состояние клиента Connecting. Сообщение типа 'DisconnectMessage'."
http://stocksharp.com/posts/m/28490/ А как тогда вручную можно отменить Connecting? Потому что робот зависает и ничто не помогает.
|
|
Thanks:
|
|
|
|
|
Mikhail Sukhov
|
Date: 11/29/2013
MenDel А как тогда вручную можно отменить Connecting? Потому что робот зависает и ничто не помогает.
Если это из-за робота, то нужно изменить робота. Если это из-за ReConnection настроек (вообще то там интервал 1 минута по умолчанию), то изменить их.
|
|
Thanks:
|
|
|
|
|
MenDel
|
Date: 11/29/2013
|
|
|
|
Настройки: _trader.ReConnectionSettings.ConnectionSettings.TimeOutInterval = TimeSpan.FromSeconds(..); _trader.ReConnectionSettings.ConnectionSettings.AttemptCount = 0; _trader.ReConnectionSettings.ConnectionSettings.ReAttemptCount = 0;
- При неправильном вводе сервера (возможно такая же ситуация возникнет когда их сервак отвалится, не проверял) Если TimeOutInterval = 22 сек, то все работает. Сработает ConnectionError и соединение переходит в состояние Failed. А вот если установить 23 и более, то соединение никогда не перейдет в Failed, оно так и останется в состоянии Connecting
- Похожая ситуация возникает тогда, когда доступ к терминалу по какой либо причине блокирован Только время TimeOutInterval в этой ситуации идет меньше до 2 сек, и 3 и более сек соответственно
- А вот если отключена сетевая карта, то ConnectionError срабатывает сразу же. Так как пишет проблема с лицензией.
- Но вот если роутер отключится, то TimeOutInterval вообще должен быть равен 1 сек. Иначе он так и останется висеть в состоянии Connecting.
Вот проблема и заключается как раз в том, что TimeOutInterval не работает. Он не в состоянии разорвать соединение, для того, что бы можно было заново подключиться. Поэтому я и спрашиваю, есть ли возможность руками это сделать?
Кстати по поводу ReConnectа: Ваш я не использую, потому что может отключиться интернет, может отвалиться сервер, а робот так и останется пытаться через допустим каждые 30 сек переподключиться и не поймет в чем ваще причина. Приходиться запускать свой таймер Сначала стоит проверить хотя бы ping до гугла там, убедиться что интернет есть, потом сделать ping до сервера, и понять в чем проблема, в интернете, в сервере или в чем то еще. А потом уже либо пытаться подключиться, либо сменить сервер или что то еще сделать в зависимости от ситуации. Мое мнение, эта функция в вашей библиотеке бесполезна, по крайней мере по отношению к SmartCom. Её надо дорабатывать.
|
|
Thanks:
|
|
|
|
|
Mikhail Sukhov
|
Date: 11/29/2013
MenDel Кстати по поводу ReConnectа: Ваш я не использую, потому что может отключиться интернет, может отвалиться сервер,
Тогда вопрос - причем тут S#? У вас свой собственный реконнект, и вы спрашиваете, как его остановить?[biggrin]
|
|
Thanks:
|
|
|
|
|
MenDel
|
Date: 11/29/2013
Михаил Сухов MenDel Кстати по поводу ReConnectа: Ваш я не использую, потому что может отключиться интернет, может отвалиться сервер,
Тогда вопрос - причем тут S#? У вас свой собственный реконнект, и вы спрашиваете, как его остановить?[biggrin] Михаил, тут вопрос не про реконнект, а про коннект!Точнее про состояние Connecting! Еще раз напишу, трейдер остается в состоянии Connecting и не хочет переходить в другое состояние. И я не могу заново пробовать подключиться, так он мне выдает ошибку, что трейдер ужу в состоянии Connecting!Вот я и спрашиваю, как мне остановить это? Единственное что помогает это написать trader = null. И перезапускать робота. Но это глупо! Хотя приходится так делать, чтоб не пролететь. Но опять же для этого надо свой таймер делать, а вопрос зачем, если у вас есть события TimeOut и ConnectionError, но вот проблема они не всегда срабатывают.
|
|
Thanks:
|
|
|
|
|
Mikhail Sukhov
|
Date: 11/29/2013
MenDel Михаил, тут вопрос не про реконнект, а про коннект! Точнее про состояние Connecting! Еще раз напишу, трейдер остается в состоянии Connecting и не хочет переходить в другое состояние. И я не могу заново пробовать подключиться, так он мне выдает ошибку, что трейдер ужу в состоянии Connecting!
Да, теперь понял о чем вы. Посмотрим, что там может быть.
|
|
|
|
|
MenDel
|
Date: 11/29/2013
Просто сделайте, чтоб TimeOutInterval всегда срабатывал и разрывал соединение. Я думаю тогда будет все нормально.
|
|
Thanks:
|
|
|
|