ReConnection не работает

ReConnection не работает
Atom
3/16/2011
Greene-nsk


            (this.Trader as SmartTrader).ReConnectionSettings.Interval = TimeSpan.FromSeconds(20);
            (this.Trader as SmartTrader).ReConnectionSettings.WorkingTime = Exchange.Test.WorkingTime;
            (this.Trader as SmartTrader).ReConnectionSettings.ConnectingAttemptCount = -1;

Подписан на события: this.Trader.Connected this.Trader.Disconnected this.Trader.ProcessDataError this.Trader.ConnectionError

Запускаю, отключаю свой вайфай через который раздается инет, через минуту получаю this.Trader.Disconnected. Жду 5 минут - ничего не происходит. Включаю инет обратно, жду 5 минут - ничего не происходит.


Tags:


Thanks:


< 1 2 
Greene-nsk

Avatar
Date: 3/16/2011
Reply


Mikhail Sukhov:

Greene-nsk:

Mikhail Sukhov:

Greene-nsk: reason приходит пустой.

Это значит штатное отсоединение. Вы Dispose, Disconnect где-то вызываете?

Не вызываю. Когда вызывается Disconnect(), приходит Reason: disconnected by user.

Сначала разберемся что к чему, потом я точечно исправлю.[smile]

Вообще, вы же знаете когда зовется Dispose или Disconnect. Почему бы во всех остальных случаях не звать reconnect?

Thanks:

Mikhail Sukhov

Avatar
Date: 3/16/2011
Reply


Greene-nsk: Вообще, вы же знаете когда зовется Dispose или Disconnect. Почему бы во всех остальных случаях не звать reconnect?

Это будет правильно с точки зрения дизайна - четко понять когда ошибка, а когда ее нет.

Thanks:

Greene-nsk

Avatar
Date: 3/17/2011
Reply


Mikhail Sukhov:

Greene-nsk: Вообще, вы же знаете когда зовется Dispose или Disconnect. Почему бы во всех остальных случаях не звать reconnect?

Это будет правильно с точки зрения дизайна - четко понять когда ошибка, а когда ее нет.

У меня есть подозрение, что главная проблема здесь не в том, почему вылазит Disconnect без ошибки, а в том, почему не приходит ConnectionError. Я выставил следующие настройки для ReConnection:

            (this.Trader as SmartTrader).ReConnectionSettings.WorkingTime = Exchange.Test.WorkingTime;
            (this.Trader as SmartTrader).ReConnectionSettings.ConnectingAttemptCount = -1;
            (this.Trader as SmartTrader).ReConnectionSettings.ReConnectingAttemptCount = -1;
            (this.Trader as SmartTrader).ReConnectionSettings.Interval = TimeSpan.FromSeconds(20);
            (this.Trader as SmartTrader).ReConnectionSettings.ExportTimeOutInterval = TimeSpan.FromSeconds(20);
            (this.Trader as SmartTrader).ReConnectionSettings.ConnectDisconnectTimeOutInterval = TimeSpan.FromSeconds(20);

Ожидал, что каждые 20 секунд соединение будет проверяться и если его нет - будет ошибка. Я отключаю интернет, и больше минуты ничего не приходит. Только потом приходит Disconnected и все.

Thanks:

Mikhail Sukhov

Avatar
Date: 3/17/2011
Reply


Greene-nsk: У меня есть подозрение, что главная проблема здесь не в том, почему вылазит Disconnect без ошибки, а в том, почему не приходит ConnectionError.

Возьмите последнюю версию.

Thanks:

Greene-nsk

Avatar
Date: 3/17/2011
Reply


Mikhail Sukhov:

Greene-nsk: У меня есть подозрение, что главная проблема здесь не в том, почему вылазит Disconnect без ошибки, а в том, почему не приходит ConnectionError.

Возьмите последнюю версию.

Отлично. Реконнектится.

Теперь другая проблема. После реконнекта "слетают" RegisterTrades, RegisterSecurity, RegisterQuotes. Экспорт я стартую.

Thanks:

Mikhail Sukhov

Avatar
Date: 3/17/2011
Reply


Greene-nsk:

Mikhail Sukhov:

Greene-nsk: У меня есть подозрение, что главная проблема здесь не в том, почему вылазит Disconnect без ошибки, а в том, почему не приходит ConnectionError.

Возьмите последнюю версию.

Отлично. Реконнектится.

Теперь другая проблема. После реконнекта "слетают" RegisterTrades, RegisterSecurity, RegisterQuotes. Экспорт я стартую.

Конкретно эти события нужно запускать самостоятельно.

Thanks:

Greene-nsk

Avatar
Date: 3/22/2011
Reply


            (this.Trader as SmartTrader).ReConnectionSettings.WorkingTime = Exchange.Test.WorkingTime;
            (this.Trader as SmartTrader).ReConnectionSettings.ConnectingAttemptCount = -1;
            (this.Trader as SmartTrader).ReConnectionSettings.ReConnectingAttemptCount = -1;
            (this.Trader as SmartTrader).ReConnectionSettings.Interval = TimeSpan.FromSeconds(20);
            (this.Trader as SmartTrader).ReConnectionSettings.ExportTimeOutInterval = TimeSpan.FromSeconds(20);
            (this.Trader as SmartTrader).ReConnectionSettings.ConnectDisconnectTimeOutInterval = TimeSpan.FromSeconds(20);

Каждый день ровно в 6:00 по Москве связь разрывается, и потом не поднимается. Идет куча ошибок Сервер RPC недоступен. Тоже самое часто происходит просто при разрыве связи - соединение не восстанавливается.


22.03.2011 6:00:04 [OpenWealth.StockSharp.TraderInitializator.SmartServer_Disconnected] Reason:  (22255690)
22.03.2011 6:00:05 [OpenWealth.StockSharp.TraderInitializator.Trader_Disconnected] ERROR: Произошел незапланированный разрыв связи. (908)
22.03.2011 6:00:05 [OpenWealth.StockSharp.TraderInitializator.Trader_Disconnected] Ждем 20 секунд и восcтанавливаем соединение. (0)
22.03.2011 6:00:26 [OpenWealth.StockSharp.TraderInitializator.Connect] Соединяемся с сервером ... (20431)
22.03.2011 6:00:32 [OpenWealth.StockSharp.TraderInitializator.Trader_ConnectionError] ERROR: Ошибка соединения System.InvalidOperationException: WINSOCK (6056)
22.03.2011 6:00:32 [OpenWealth.StockSharp.TraderInitializator.Connect] FATAL ERROR: Отсутствует соединение с Smart. (33)
22.03.2011 6:00:52 [OpenWealth.StockSharp.TraderInitializator.Trader_ConnectionError] ERROR: Ошибка соединения System.InvalidOperationException: Соединение не было установлено. (20394)
22.03.2011 6:01:12 [OpenWealth.StockSharp.TraderInitializator.Trader_ConnectionError] ERROR: Ошибка соединения System.Runtime.InteropServices.COMException (0x800706BA): Сервер RPC недоступен. (Исключение из HRESULT: 0x800706BA)
   в StClientLib.StServerClass.disconnect()
   в Ecng.Trading.Smart.SmartComWrapper.#=qnCgDm1vHPvXpt7N3mOxtVy8NZjT2eQuyDSB5hXbNr7Q=(StServer #=qKUBRzCyeMBm8zUOTVMXn3A==)
   в Ecng.Trading.Smart.SmartComWrapper.#=q75j_Z5JSRxNkiXV88FHEug==(Action`1 #=qqKsTnjrmu7pdXnaFSMdxhw==)
   в Ecng.Trading.Smart.SmartComWrapper.Disconnect()
   в Ecng.Trading.Smart.SmartTrader.OnDisconnect()
   в Ecng.Trading.Algo.BaseTrader.Disconnect()
   в Ecng.Trading.Algo.BaseTrader.#=qgA3BsOJZFeBWXFGAp7wz7Q==() (19556)
22.03.2011 6:01:39 [OpenWealth.StockSharp.TraderInitializator.Trader_ConnectionError] ERROR: Ошибка соединения System.Runtime.InteropServices.COMException (0x800706BA): Сервер RPC недоступен. (Исключение из HRESULT: 0x800706BA)
   в StClientLib.StServerClass.disconnect()
   в Ecng.Trading.Smart.SmartComWrapper.#=qnCgDm1vHPvXpt7N3mOxtVy8NZjT2eQuyDSB5hXbNr7Q=(StServer #=qKUBRzCyeMBm8zUOTVMXn3A==)
   в Ecng.Trading.Smart.SmartComWrapper.#=q75j_Z5JSRxNkiXV88FHEug==(Action`1 #=qqKsTnjrmu7pdXnaFSMdxhw==)
   в Ecng.Trading.Smart.SmartComWrapper.Disconnect()
   в Ecng.Trading.Smart.SmartTrader.OnDisconnect()
   в Ecng.Trading.Algo.BaseTrader.Disconnect()
   в Ecng.Trading.Algo.BaseTrader.#=qgA3BsOJZFeBWXFGAp7wz7Q==() (27695)

...

Thanks:

Mikhail Sukhov

Avatar
Date: 3/24/2011
Reply


Greene-nsk: Каждый день ровно в 6:00 по Москве связь разрывается, и потом не поднимается. Идет куча ошибок Сервер RPC недоступен. Тоже самое часто происходит просто при разрыве связи - соединение не восстанавливается.

Пока не понял, почему Смарт иногда поднимается, а иногда нет.

Thanks:
< 1 2 

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy