﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/css' href='https://stocksharp.com/css/style.css'?>
<?xml-stylesheet type='text/css' href='https://stocksharp.com/css/bbeditor.css'?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html">Отработка Connect / Reconnect</title>
  <id>~/topic/1431/otrabotka-connect--reconnect/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-30T16:55:29Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=1431" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/6569/</id>
    <title type="text">Спасибо. Но для особо тупых было бы неплохо упомянуть такую фичу в документации :-)</title>
    <published>2011-03-10T18:34:17Z</published>
    <updated>2011-03-10T18:34:17Z</updated>
    <author>
      <name>igork</name>
      <uri>https://stocksharp.com/users/6303/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Спасибо. Но для особо тупых было бы неплохо упомянуть такую фичу в документации :-)</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/6543/</id>
    <title type="text">this.objMainTrader.ReConnectionSettings.WorkingTime = Exchange.Rts.WorkingTime; По идее это означает...</title>
    <published>2011-03-10T04:00:30Z</published>
    <updated>2011-03-10T04:00:30Z</updated>
    <author>
      <name>Greene-nsk</name>
      <uri>https://stocksharp.com/users/27932/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">this.objMainTrader.ReConnectionSettings.WorkingTime = Exchange.Rts.WorkingTime;&lt;br /&gt;&lt;br /&gt;По идее это означает, что переподключение должно производиться только во время работы RTS. Естественно, ночью переподключения не будет.&lt;br /&gt;&lt;br /&gt;Попробуйте Exchange.Test.WorkingTime, которая не имеет ограничений времени.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/6541/</id>
    <title type="text">Михаил, в соответствии с примерами, дизайним форму, на которой две кнопки Connect и Disconnect. Поле...</title>
    <published>2011-03-09T21:48:01Z</published>
    <updated>2011-03-09T21:48:01Z</updated>
    <author>
      <name>igork</name>
      <uri>https://stocksharp.com/users/6303/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Михаил, в соответствии с примерами, дизайним форму, на которой две кнопки Connect и Disconnect. Полезной нагрузки нет. &lt;br /&gt;&lt;br /&gt;Код кнопки Connect:&lt;br /&gt;&lt;br /&gt;....&lt;br /&gt;&lt;br /&gt; if (this.objMainTrader == null)&lt;br /&gt; {&lt;br /&gt;&lt;br /&gt;    this.objMainTrader = new SmartTrader(strLogin, strPWD, objIPEndPoint);&lt;br /&gt;    this.objMainTrader.Connected += () =&amp;gt; { this.SmartConnectStatusSucced(); };&lt;br /&gt;    this.objMainTrader.ConnectionError += error =&amp;gt; { this.SmartConnectStatusFailed(error); };&lt;br /&gt;    this.objMainTrader.ReConnectionSettings.Interval = TimeSpan.FromSeconds(10);&lt;br /&gt;&lt;br /&gt;    this.objMainTrader.ReConnectionSettings.ConnectDisconnectTimeOutInterval = TimeSpan.FromSeconds(60);&lt;br /&gt;&lt;br /&gt;    this.objMainTrader.ReConnectionSettings.ReConnectingAttemptCount = 1000; // здесь пробовал -1, на поведение не влияет&lt;br /&gt;&lt;br /&gt;    this.objMainTrader.ReConnectionSettings.WorkingTime = Exchange.Rts.WorkingTime;&lt;br /&gt;    this.objMainTrader.ReConnectionSettings.ConnectionAttemptError += error =&amp;gt;&lt;br /&gt;                    { this.SmartReConnectStatusFailed(error); };&lt;br /&gt;&lt;br /&gt;    this.objMainTrader.ReConnectionSettings.ConnectionRestored += () =&amp;gt;&lt;br /&gt;                    { this.SmartReConnectStatusSucced(); };&lt;br /&gt;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; // try to connect to the server&lt;br /&gt; if (!this.objMainTrader.IsConnected)&lt;br /&gt;    this.objMainTrader.Connect();            &lt;br /&gt;            &lt;br /&gt;.....&lt;br /&gt;&lt;br /&gt;Все функции, которые вызываются, тупо создают соединение с базой SQL Server и пишут сообщение с именем вызванной функции. Итого, что происходит. &lt;br /&gt;&lt;br /&gt;При нажатии кнопки Connect код аккуратно отрабатывает, и SmartConnectStatusSucced тоже. &lt;br /&gt;Далее, на виртуальной машине (Tools -&amp;gt; Settings) отключаем сетевую карту. Очень быстро отрабатывает SmartConnectStatusFailed, в журнал записывается следующее сообщение:&lt;br /&gt;&lt;br /&gt;&amp;lt;Timeout detected. Check your internet connectivity or event handler code&amp;gt;. &lt;br /&gt;&lt;br /&gt;Далее я ожидаю, что в соответствии с настройками ReconnectionSettings, objMainTrader будет пытаться производить повторное подключение. Ждем 5 минут, но ничего не происходит. Выставленные в отладчике точки прерывания тоже не срабатывают.  &lt;br /&gt;&lt;br /&gt;Обратно возвращаемся к настройкам виртуальной машины, и возвращаем на место сетевой адаптер. Сеть восстанавливается, но объект этого не замечает. &lt;br /&gt;&lt;br /&gt;Прошу подсказать, что делаю не так. Возможно, нужно запустить какие-то операции, обращаться к объекту и т.п., чтобы код переподключения заработал?&lt;br /&gt;&lt;br /&gt;P.S. Библиотеки версии 3.0.8. &lt;br /&gt;P.P.S. Готов выложить проект, скриншоты и how to reproduce, но форум не позволяет. &lt;br /&gt;P.P.P.S. Может ли причина заключаться в том, что тесты производятся в ночное время? :-) Если да, то исчезнет ли проблема, если подменить WorkingTime?&lt;br /&gt;&lt;br /&gt;Спасибо. &lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>