﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/css' href='https://stocksharp.ru/css/style.css'?>
<?xml-stylesheet type='text/css' href='https://stocksharp.ru/css/bbeditor.css'?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html">Проблемы при переподключении.</title>
  <id>~/topic/2908/problemy-pri-perepodklyuchenii_/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-25T14:06:29Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=2908" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/24141/</id>
    <title type="text">В общем кому интересно, выкладываю вариант с рабочим переподключением (исправил как сам думаю). Прот...</title>
    <published>2013-02-20T18:04:41Z</published>
    <updated>2013-02-20T18:04:41Z</updated>
    <author>
      <name>Garry</name>
      <uri>https://stocksharp.ru/users/430/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">В общем кому интересно, выкладываю вариант с рабочим переподключением (исправил как сам думаю). Протестировал. Изменил всего 2 метода(жирный шрифт).&lt;br /&gt; &lt;br /&gt;&lt;u&gt;1-PlazaTrader.cs Перезапуск роутера при соединении:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;protected override void OnConnect()&lt;br /&gt;		{&lt;br /&gt;			// Для удобства проверяем, запущен ли P2MQRouter.exe?&lt;br /&gt;			// Если это не делать, COM-библиотека Плазы будет выкидывать одну и ту же ошибку (&amp;#39;Couldn&amp;#39;t resolve MQ service&amp;#39;),&lt;br /&gt;			// и когда P2MQRouter.exe не запущен,&lt;br /&gt;			// и когда нет связи с сервером Плазы или не ведутся торги.&lt;br /&gt;&lt;br /&gt;			//if (_connectionPool.IsLocal &amp;amp;&amp;amp; Router.Status != ServiceControllerStatus.Running)&lt;br /&gt;			//    throw new InvalidOperationException(&amp;quot;На компьютере не установлена или не запущена программа P2MQRouter.exe.&amp;quot;);&lt;br /&gt;            &lt;b&gt;Router.Restart();&lt;br /&gt;            while (Router.Status != System.ServiceProcess.ServiceControllerStatus.Running)&lt;br /&gt;            {&lt;br /&gt;                System.Threading.Thread.Sleep(200);&lt;br /&gt;            }&lt;/b&gt;&lt;br /&gt;			_transactionManager.Start();&lt;br /&gt;&lt;br /&gt;			_connectionPool.Connect();&lt;br /&gt;&lt;br /&gt;			this.AddInfoLog(&amp;quot;OnConnect&amp;quot;);&lt;br /&gt;		}&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;br /&gt;2 - PlazaConnectionPool.cs принудительный вызов события disconnected при вызове метода Disconnect()&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;		public void Disconnect()&lt;br /&gt;		{&lt;br /&gt;			_connectDone = false;&lt;br /&gt;			ChangeConnection(Disconnect);&lt;br /&gt;            &lt;b&gt;_disconnected();&lt;br /&gt;            IsConnected = false;&lt;/b&gt;&lt;br /&gt;		}</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/24140/</id>
    <title type="text">Ну я тоже не сразу разобрался. Суть в том что, PlazaTrader выдает событие Disconnect 1 раз при обрыв...</title>
    <published>2013-02-20T11:31:50Z</published>
    <updated>2013-02-20T11:51:44Z</updated>
    <author>
      <name>Garry</name>
      <uri>https://stocksharp.ru/users/430/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Ну я тоже не сразу разобрался. Суть в том что, PlazaTrader выдает событие Disconnect 1 раз при обрыве связи, а ReConnectionMasnager ждет его каждый раз при переподключении, поэтому вылезает таймаут. Соответсвенно выхода 2, выдавать его либо не ждать.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/24137/</id>
    <title type="text">Я совсем запутался. </title>
    <published>2013-02-20T11:04:30Z</published>
    <updated>2013-02-20T11:04:30Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Я совсем запутался.[sad] </content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/24136/</id>
    <title type="text">Оно приходит один раз, при разрыве связи, а ReConnectionManager, вызывает Trader.Reconnect через инт...</title>
    <published>2013-02-20T09:41:34Z</published>
    <updated>2013-02-20T09:41:34Z</updated>
    <author>
      <name>Garry</name>
      <uri>https://stocksharp.ru/users/430/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Оно приходит один раз, при разрыве связи, а ReConnectionManager, вызывает Trader.Reconnect через интервалы, в PlazaTrader метод Reconnect не определен, он определен только в BaseTrader&lt;br /&gt;                public virtual void Reconnect()&lt;br /&gt;		{&lt;br /&gt;			SafeDisconnect();&lt;br /&gt;			Connect();&lt;br /&gt;		}&lt;br /&gt;SafeDisconnect(); вызывает Disconnect всегда т.к. IsConnected закоментарен. Disconnect опять же определен только в BaseTrader&lt;br /&gt;                 public void Disconnect()&lt;br /&gt;		{&lt;br /&gt;			_reConnectionManager.Disconnect(() =&amp;gt; RaiseConnectionError(new TimeoutException(&amp;quot;Соединение не было разорвано в отведенный отрезок времени.&amp;quot;)));&lt;br /&gt;			OnDisconnect();&lt;br /&gt;		}&lt;br /&gt;&lt;br /&gt;т.е. ReConnectionManager ждет событие каждый раз при реконнекте, тут надо либо раскоментарить IsConnected или переопределить Disconnect() Reconnect() в PlazaTrader</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/24135/</id>
    <title type="text">Еще и в BaseTrader метод SafeDisconnect вызывает Disconnect(); без проверки (почему-то if (IsConnect...</title>
    <published>2013-02-20T08:42:04Z</published>
    <updated>2013-02-20T08:42:04Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Garry &lt;a href="https://stocksharp.ru/posts/m/24132/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Еще и в BaseTrader метод SafeDisconnect вызывает Disconnect(); без проверки (почему-то if (IsConnected) закоментарен) Соответсвенно ReConectionManager ждет события Trader.Disconnected, которого никогда не будет. Из-за этого вылезает ошибка таймаута:&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;IsConnected закомментарен, потому что он сам может вызвать исключение. Поэтому всегда вызывается отключение, Disconnect. После его вызова и должно прийти событие успешного отключения. Почему оно не приходит?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/24132/</id>
    <title type="text">Еще и в BaseTrader метод SafeDisconnect вызывает Disconnect(); без проверки (почему-то if (IsConnect...</title>
    <published>2013-02-19T20:17:23Z</published>
    <updated>2013-02-19T20:17:23Z</updated>
    <author>
      <name>Garry</name>
      <uri>https://stocksharp.ru/users/430/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Еще и в BaseTrader метод SafeDisconnect вызывает Disconnect(); без проверки (почему-то if (IsConnected) закоментарен) Соответсвенно ReConectionManager ждет события Trader.Disconnected, которого никогда не будет. Из-за этого вылезает ошибка таймаута:&lt;br /&gt;2013/01/15 12:44:09.353|Error |PlazaTrader|System.TimeoutException: Соединение не было разорвано в отведенный отрезок времени.&lt;br /&gt;&lt;br /&gt;                private void SafeDisconnect()&lt;br /&gt;		{&lt;br /&gt;			try&lt;br /&gt;			{&lt;br /&gt;				&lt;b&gt;//if (IsConnected)&lt;/b&gt;&lt;br /&gt;				Disconnect();&lt;br /&gt;			}&lt;br /&gt;			catch (Exception ex)&lt;br /&gt;			{&lt;br /&gt;				RaiseConnectionError(ex);&lt;br /&gt;			}&lt;br /&gt;		}</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/24069/</id>
    <title type="text">Посмотрел исходники, поэкспериментировал с проблемой, действительно роутер ведет себя как то странно...</title>
    <published>2013-02-17T09:55:03Z</published>
    <updated>2013-02-17T09:55:57Z</updated>
    <author>
      <name>Garry</name>
      <uri>https://stocksharp.ru/users/430/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Посмотрел исходники, поэкспериментировал с проблемой, действительно роутер ведет себя как то странно после восстановления связи, постоянные ошибки &lt;br /&gt;&lt;br /&gt;2013/02/17 13:34:38.102|Error  |PlazaTrader|StockSharp.Plaza.PlazaException: Ошибка подключения к серверу Плазы. Код -2147196927, описание &amp;#39;P2ERR_MQ_NOT_INITIALIZED_YET&amp;#39;. ---&amp;gt; System.Runtime.InteropServices.COMException: Couldn&amp;#39;t connect to MQ &lt;br /&gt;&lt;br /&gt;, хотя до этого все локальные соединения были корректно завершены. Возможно действительно проблема в Роутере(та что выше по ссылке на форум РТС). Рестарт роутера помогает, добавил Router.Restart(); в метод OnConnect() Плаза трейдера, пересобрал, все отлично восстанавливается. Но вот рестарт роутера при каждой попытке соединения, уж больно радикальное решение, хотя все же решение.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/23462/</id>
    <title type="text">Как только у разработчиков будет время - сразу сделаем.</title>
    <published>2013-01-15T18:13:44Z</published>
    <updated>2013-01-15T18:13:44Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.ru/users/2826/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Как только у разработчиков будет время - сразу сделаем.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/23449/</id>
    <title type="text">Ну есть перспективы решения? просто уже 5 месяцев прошло, вроде довольно ходовой коннектор, а переза...</title>
    <published>2013-01-15T16:49:08Z</published>
    <updated>2013-01-15T16:49:08Z</updated>
    <author>
      <name>Garry</name>
      <uri>https://stocksharp.ru/users/430/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Ну есть перспективы решения? просто уже 5 месяцев прошло, вроде довольно ходовой коннектор, а перезапускать робота, если пропадет инет как то не хотелось бы. Вот, может быть оно? &lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAADqsfI-TfIm12sk6cf5BEkcVcyq8chzwX8T2noRxsvr5Ywh_h0rqf7MFCU8sini70o" title="http://forum.rts.micex.ru/viewtopic.asp?t=19453"&gt;http://forum.rts.micex.ru/viewtopic.asp?t=19453&lt;/a&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/23438/</id>
    <title type="text">Проблема известна и уже была занесена в список тасков ранее.</title>
    <published>2013-01-15T16:00:00Z</published>
    <updated>2013-01-15T16:00:00Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.ru/users/2826/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Проблема известна и уже была занесена в список тасков ранее.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/23419/</id>
    <title type="text">Аналогичная проблема, после попытки переподключения в логе ошибка 2013/01/15 12:44:09.353|Error |Pla...</title>
    <published>2013-01-15T08:49:44Z</published>
    <updated>2013-01-15T08:49:44Z</updated>
    <author>
      <name>Garry</name>
      <uri>https://stocksharp.ru/users/430/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Аналогичная проблема, после попытки переподключения в логе ошибка &lt;br /&gt;2013/01/15 12:44:09.353|Error  |PlazaTrader|System.TimeoutException: Соединение не было разорвано в отведенный отрезок времени. И все на этом стопорится.&lt;br /&gt;Коннектор из S# 4.1.7 с кодплекса, роутер 1.4.11_32</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/21125/</id>
    <title type="text">Если это ко мне вопрос, то нет, у меня такого нет. В _trader.Disconnected просто логируется информац...</title>
    <published>2012-08-31T10:34:43Z</published>
    <updated>2012-08-31T10:34:43Z</updated>
    <author>
      <name>Maxim</name>
      <uri>https://stocksharp.ru/users/6182/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Если это ко мне вопрос, то нет, у меня такого нет.&lt;br /&gt;В  _trader.Disconnected просто логируется информация.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/21025/</id>
    <title type="text">У вас в коде нигде нет подобных строчек _trader.Disconnected += _trader.Connect; Ну или может быть ч...</title>
    <published>2012-08-25T04:41:03Z</published>
    <updated>2012-08-25T04:41:03Z</updated>
    <author>
      <name>ra81</name>
      <uri>https://stocksharp.ru/users/16581/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">У вас в коде нигде нет подобных строчек&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
_trader.Disconnected += _trader.Connect;&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Ну или может быть что нить типо такого&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
_trader.Disconnected += DoSomeThing;

// какойто код

private void DoSomeThing()
{
     // какой то код
     _trader.Connect;
}&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;На плазе не проверял но на АльфаДирект это четко приводит к вышеописанной ошибке. Отвал событий, экспорта данных и прочих радостей. Подозреваю что связано с прямой передачей событий от терминала/шлюза в коннектор. Что приводит к эдакому дедлоку чтоли :)</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/20973/</id>
    <title type="text">Подтверждаю багу в ReConnectManager. только у меня не отваливается коннектор. Просто мессадж падает ...</title>
    <published>2012-08-23T07:07:55Z</published>
    <updated>2012-08-23T07:08:48Z</updated>
    <author>
      <name>ra81</name>
      <uri>https://stocksharp.ru/users/16581/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Подтверждаю багу в ReConnectManager. только у меня не отваливается коннектор. Просто мессадж падает в лог об ошибке. И все.&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Цитата:&lt;/span&gt;&lt;div class="innerquote"&gt;09:14:13.937 | Error      | AlfaTrader      | System.TimeoutException: Соединение не было установлено в отведенный отрезок времени.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Потом все работает норм. У меня правда AlfaDirect</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/20653/</id>
    <title type="text">Ну сорсы плазы у тебя уже есть, так что разбираться в connect + com можно Разработчики заняты слишко...</title>
    <published>2012-08-04T16:33:20Z</published>
    <updated>2012-08-04T16:33:20Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.ru/users/2826/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Ну сорсы плазы у тебя уже есть, так что разбираться в connect + com можно&lt;br /&gt;&lt;br /&gt;Разработчики заняты слишком другими вопросами сейчас.&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/20652/</id>
    <title type="text"> Лучше конечно решение на блюдечке Тут больше проблема на мой взгляд не в ReConnectionManager. Так к...</title>
    <published>2012-08-04T16:31:48Z</published>
    <updated>2012-08-04T16:31:48Z</updated>
    <author>
      <name>Maxim</name>
      <uri>https://stocksharp.ru/users/6182/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">[smile] &lt;br /&gt;&lt;br /&gt;Лучше конечно решение на блюдечке [smile] &lt;br /&gt;&lt;br /&gt;Тут больше проблема на мой взгляд не в ReConnectionManager.&lt;br /&gt;Так как заливка данных возобновляется, работает секунд 15 и отваливается.&lt;br /&gt;&lt;br /&gt;Подозреваю, здесь где-то косяк на уровне:&lt;br /&gt;(конструктор PlazaTrader или метод Connect) + (регистрация COM объекта).&lt;br /&gt;&lt;br /&gt;Поэтому сорсы ReConnectionManager вряд ли помогут.&lt;br /&gt;Тут надо хорошо разбираться в процессе соединения c роутером в PlazaTrader.&lt;br /&gt;А этот процесс я не совсем хорошо понимаю, так как не разбирался досконально в Плазе2.&lt;br /&gt;&lt;br /&gt;Но... Если конечно никто из разработчиков этим вопросом заниматься не планирует,&lt;br /&gt;кидай сорсы. Буду ковыряться.&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/20651/</id>
    <title type="text">Могу предоставить исходники ReConnectionManager чтобы ты попробовал самостоятельно разобраться с дан...</title>
    <published>2012-08-04T16:22:23Z</published>
    <updated>2012-08-04T16:22:23Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.ru/users/2826/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Могу предоставить исходники ReConnectionManager чтобы ты попробовал самостоятельно разобраться с данной проблемой.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/20648/</id>
    <title type="text">Этот вопрос не связан с ревизиями. Про ревизии сейчас напишу в том топике. </title>
    <published>2012-08-04T16:04:20Z</published>
    <updated>2012-08-04T16:04:20Z</updated>
    <author>
      <name>Maxim</name>
      <uri>https://stocksharp.ru/users/6182/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Этот вопрос не связан с ревизиями.&lt;br /&gt;Про ревизии сейчас напишу в том топике.&lt;br /&gt;&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/20647/</id>
    <title type="text">«Бен, это Данила, ай нид хелп» С ревизиями вопрос решился?</title>
    <published>2012-08-04T15:13:07Z</published>
    <updated>2012-08-04T15:13:07Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.ru/users/2826/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Maxim &lt;a href="https://stocksharp.ru/posts/m/20646/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&amp;#171;Бен, это Данила, ай нид хелп&amp;#187;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;С ревизиями вопрос решился?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/20646/</id>
    <title type="text">«Бен, это Данила, ай нид хелп»</title>
    <published>2012-08-04T15:03:22Z</published>
    <updated>2012-08-04T15:03:22Z</updated>
    <author>
      <name>Maxim</name>
      <uri>https://stocksharp.ru/users/6182/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&amp;#171;Бен, это Данила, ай нид хелп&amp;#187;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>