<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413371&amp;view=findpost&amp;p=3776099</guid>
        <pubDate>Sun, 12 Aug 2018 15:25:11 +0000</pubDate>
        <title>Два соединения для коннекта клиента-сервера?</title>
        <link>https://forum.sources.ru/index.php?showtopic=413371&amp;view=findpost&amp;p=3776099</link>
        <description><![CDATA[ЫукпШ: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413371&view=findpost&p=3776052'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Олег М &#064; <time class="tag-quote__quoted-time" datetime="2018-08-11T10:21:22+03:00">11.08.18, 07:21</time></span><div class='quote '>И в чём же было их преимущество, в твоём случае, перед блокирующими?</div></div><br>
Предположим, необходимо срочно завершить приложение, а &quot;connect&quot; блокирующий.<br>
Когда он закончится - не известно.<br>
В результате, нельзя даже завершить приложение по своему желанию. =:0]]></description>
        <author>ЫукпШ</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413371&amp;view=findpost&amp;p=3776087</guid>
        <pubDate>Sun, 12 Aug 2018 06:26:41 +0000</pubDate>
        <title>Два соединения для коннекта клиента-сервера?</title>
        <link>https://forum.sources.ru/index.php?showtopic=413371&amp;view=findpost&amp;p=3776087</link>
        <description><![CDATA[Pavia: <strong class='tag-b'>JoeUser</strong><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413371&view=findpost&p=3775952'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>JoeUser &#064; <time class="tag-quote__quoted-time" datetime="2018-08-09T13:11:28+00:00">09.08.18, 13:11</time></span><div class='quote '>&quot;если есть возможность в архитектуре приложения использовать блокируемые сокеты, то лучше использовать их, а не неблокируемые&quot;. Правильно ли это?</div></div><br>
Для новичков лучше использовать блокирующие. Так как если вы будете использовать неблокирующие, то вам придётся делать синхронизацию. Синхронизация это по любому блокировка. <br>
Встаёт вопрос зачем делать блокировки самому когда они есть готовые? Ответ прост вы можете уменьшить их число и время простоя. Для этого вы должны знать теорию транзакций. <br>
Ах да теория транзакций не описана в одной книге или одной статье. Что-бы её освоить мне пришлось собрать крупицы знаний из не менее чем 5 статей.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413371&view=findpost&p=3775896'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>JoeUser &#064; <time class="tag-quote__quoted-time" datetime="2018-08-08T14:56:51+00:00">08.08.18, 14:56</time></span><div class='quote '><br>
Часто возникает ситуация, когда одна из сторон (клиент или/и сервер) долго обрабатывают поставленную задачу. Стандартный способ - использование тайм-аутов. </div></div><br>
Если протокол чужой и в нем не продуманы транзакции, то вам придётся городить параллельность. А в параллельности всё равно есть блокировки. А с ней никто грамотно работать не умеет, кроме меня  :tong:.]]></description>
        <author>Pavia</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413371&amp;view=findpost&amp;p=3776086</guid>
        <pubDate>Sun, 12 Aug 2018 01:34:47 +0000</pubDate>
        <title>Два соединения для коннекта клиента-сервера?</title>
        <link>https://forum.sources.ru/index.php?showtopic=413371&amp;view=findpost&amp;p=3776086</link>
        <description><![CDATA[Gonarh: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413371&view=findpost&p=3776052'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Олег М &#064; <time class="tag-quote__quoted-time" datetime="2018-08-11T07:21:22+00:00">11.08.18, 07:21</time></span><div class='quote '>И в чём же было их преимущество, в твоём случае, перед блокирующими?</div></div><br>
Всё зависит от задач. У меня комплексное решение и с теми и с другими сокетами, в одном месте был необходим моментальный возврат при вызове connect в случае недоступности сервера. Если бы стоял вопрос о десятках тысяч коннектов, то о блокирующем режиме можно точно забыть.]]></description>
        <author>Gonarh</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413371&amp;view=findpost&amp;p=3776085</guid>
        <pubDate>Sat, 11 Aug 2018 22:16:36 +0000</pubDate>
        <title>Два соединения для коннекта клиента-сервера?</title>
        <link>https://forum.sources.ru/index.php?showtopic=413371&amp;view=findpost&amp;p=3776085</link>
        <description><![CDATA[ЫукпШ: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413371&view=findpost&p=3775972'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>JoeUser &#064; <time class="tag-quote__quoted-time" datetime="2018-08-09T22:21:03+00:00">09.08.18, 22:21</time></span><div class='quote '>А вот тут собака зарылась :) Я намеренно спросил выше о блокирующих и неблокирующих сокетах. <strong class='tag-b'>ЫукпШ</strong>, как ты себе представляешь &quot;серверную&quot; часть, которая держит 10 000 соединений? Столько же потоков запускать на &quot;серверной&quot; части?</div></div><br>
Столько, сколько посчитаешь нужным.<br>
Можно 1. Можно - 10.<br>
И можно даже ни одного.<br>
Т.е. можно всю работу выполнять в потоке, принимающем соединения.<br>
Все запросы просто ставятся в очередь, которая должна быть к каждому рабочему потоку. <br>
&quot;Поблизости&quot; в конференции обсуждали похожие вопросы.<br>
&quot;О взаиможействии потоков&quot;, &quot;о передачи данных между потоками&quot; или что-то вроде этого.<br>
---<br>
Кроме того, вовсе незачем сохранять соединения на время выполнения длительной работы.<br>
Можно так:<br>
1. Подсоединились.<br>
2. Запросили выполнение работы - получили идентификатор.<br>
   Если работа &quot;короткая&quot; - сразу получили результат.<br>
3. Отключились.<br>
А дальше время от времени подключаемся и узнаём статус и степень выполнения &quot;работы&quot;<br>
по её идентификатору.]]></description>
        <author>ЫукпШ</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413371&amp;view=findpost&amp;p=3776052</guid>
        <pubDate>Sat, 11 Aug 2018 07:21:22 +0000</pubDate>
        <title>Два соединения для коннекта клиента-сервера?</title>
        <link>https://forum.sources.ru/index.php?showtopic=413371&amp;view=findpost&amp;p=3776052</link>
        <description><![CDATA[Олег М: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413371&view=findpost&p=3776036'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Gonarh &#064; <time class="tag-quote__quoted-time" datetime="2018-08-10T18:27:27+00:00">10.08.18, 18:27</time></span><div class='quote '>И работает на ... асинхронных (неблокируемых) сокетах, верно?<br>
<br>
Разумеется <br>
</div></div><br>
<br>
И в чём же было их преимущество, в твоём случае, перед блокирующими?]]></description>
        <author>Олег М</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413371&amp;view=findpost&amp;p=3776036</guid>
        <pubDate>Fri, 10 Aug 2018 18:27:27 +0000</pubDate>
        <title>Два соединения для коннекта клиента-сервера?</title>
        <link>https://forum.sources.ru/index.php?showtopic=413371&amp;view=findpost&amp;p=3776036</link>
        <description><![CDATA[Gonarh: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413371&view=findpost&p=3776012'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>JoeUser &#064; <time class="tag-quote__quoted-time" datetime="2018-08-10T14:05:54+00:00">10.08.18, 14:05</time></span><div class='quote '><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413371&view=findpost&p=3776010'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Gonarh &#064; <time class="tag-quote__quoted-time" datetime="2018-08-10T13:57:43+00:00">10.08.18, 13:57</time></span><div class='quote '> кол-во потоков-обработчиков равно как и кол-во коннектов регулируется параметрами конфига </div></div><br>
И работает на ... асинхронных (неблокируемых) сокетах, верно?</div></div><br>
Разумеется <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2018-08-10T18:30:13+00:00">10.08.18, 18:30</time></span></span><br>
У меня штук пять сервисов на перле, писал на неблокируемых, работает годами. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2018-08-10T18:32:30+00:00">10.08.18, 18:32</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413371&view=findpost&p=3776012'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>JoeUser &#064; <time class="tag-quote__quoted-time" datetime="2018-08-10T14:05:54+00:00">10.08.18, 14:05</time></span><div class='quote '>нужна web-морда для клиентов, со всеми там AJAX, JQuery, Bootstrap иже еси на небеси ...</div></div><br>
тогда какой смысл в своем сервисе? пиши fastcgi и не люби мозги]]></description>
        <author>Gonarh</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413371&amp;view=findpost&amp;p=3776024</guid>
        <pubDate>Fri, 10 Aug 2018 17:13:06 +0000</pubDate>
        <title>Два соединения для коннекта клиента-сервера?</title>
        <link>https://forum.sources.ru/index.php?showtopic=413371&amp;view=findpost&amp;p=3776024</link>
        <description><![CDATA[Олег М: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413371&view=findpost&p=3776012'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>JoeUser &#064; <time class="tag-quote__quoted-time" datetime="2018-08-10T14:05:54+00:00">10.08.18, 14:05</time></span><div class='quote '>Разрабатывай свой протокол поверх tcp<br>
<br>
Эххх ... нужна web-морда для клиентов, со всеми там AJAX, JQuery, Bootstrap иже еси на небеси ...</div></div><br>
До протокола здесь как до луны пешком. Для начала стоит научиться просто с сокетами работать.]]></description>
        <author>Олег М</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413371&amp;view=findpost&amp;p=3776012</guid>
        <pubDate>Fri, 10 Aug 2018 14:05:54 +0000</pubDate>
        <title>Два соединения для коннекта клиента-сервера?</title>
        <link>https://forum.sources.ru/index.php?showtopic=413371&amp;view=findpost&amp;p=3776012</link>
        <description><![CDATA[JoeUser: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413371&view=findpost&p=3776010'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Gonarh &#064; <time class="tag-quote__quoted-time" datetime="2018-08-10T13:57:43+00:00">10.08.18, 13:57</time></span><div class='quote '> кол-во потоков-обработчиков равно как и кол-во коннектов регулируется параметрами конфига </div></div><br>
И работает на ... асинхронных (неблокируемых) сокетах, верно? <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2018-08-10T14:09:13+00:00">10.08.18, 14:09</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413371&view=findpost&p=3776010'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Gonarh &#064; <time class="tag-quote__quoted-time" datetime="2018-08-10T13:57:43+00:00">10.08.18, 13:57</time></span><div class='quote '>Разрабатывай свой протокол поверх tcp</div></div><br>
Эххх ... нужна web-морда для клиентов, со всеми там AJAX, JQuery, Bootstrap иже еси на небеси ...]]></description>
        <author>JoeUser</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413371&amp;view=findpost&amp;p=3776010</guid>
        <pubDate>Fri, 10 Aug 2018 13:57:43 +0000</pubDate>
        <title>Два соединения для коннекта клиента-сервера?</title>
        <link>https://forum.sources.ru/index.php?showtopic=413371&amp;view=findpost&amp;p=3776010</link>
        <description><![CDATA[Gonarh: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Возникла мысль, а что если сделать два соединения.</div></div><br>
Разрабатывай свой протокол поверх tcp, у меня один поток слушает, разбирает пакеты и ложит данные в шаред структуромассивы, при необходимости создаёт потоки в которых идёт обработка данных, в любой момент клиент может запросить состояние обработки пакетов на что ему будет выдана инфа. Два соединения, имхо, избыточно.<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>как ты себе представляешь &quot;серверную&quot; часть, которая держит 10 000 соединений? Столько же потоков запускать на &quot;серверной&quot; части? </div></div><br>
На highload серверах такое малоприменимо, проще глянуть как работает допустим тот же nginx, сырцы открыты, емнип кол-во потоков-обработчиков равно как и кол-во коннектов регулируется параметрами конфига]]></description>
        <author>Gonarh</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413371&amp;view=findpost&amp;p=3775972</guid>
        <pubDate>Thu, 09 Aug 2018 22:21:03 +0000</pubDate>
        <title>Два соединения для коннекта клиента-сервера?</title>
        <link>https://forum.sources.ru/index.php?showtopic=413371&amp;view=findpost&amp;p=3775972</link>
        <description><![CDATA[JoeUser: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413371&view=findpost&p=3775954'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>ЫукпШ &#064; <time class="tag-quote__quoted-time" datetime="2018-08-09T14:53:24+00:00">09.08.18, 14:53</time></span><div class='quote '>Предполагается, что сервер будет &quot;долго&quot; его выполнять. Пусть он для этого запустит другой поток<br>
и будет готов выполнять другие запросы клиента.</div></div><br>
А вот тут собака зарылась :) Я намеренно спросил выше о блокирующих и неблокирующих сокетах. <strong class='tag-b'>ЫукпШ</strong>, как ты себе представляешь &quot;серверную&quot; часть, которая держит 10 000 соединений? Столько же потоков запускать на &quot;серверной&quot; части?]]></description>
        <author>JoeUser</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413371&amp;view=findpost&amp;p=3775970</guid>
        <pubDate>Thu, 09 Aug 2018 21:32:44 +0000</pubDate>
        <title>Два соединения для коннекта клиента-сервера?</title>
        <link>https://forum.sources.ru/index.php?showtopic=413371&amp;view=findpost&amp;p=3775970</link>
        <description><![CDATA[Oleg2004: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413371&view=findpost&p=3775954'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>ЫукпШ &#064; <time class="tag-quote__quoted-time" datetime="2018-08-09T14:53:24+00:00">09.08.18, 14:53</time></span><div class='quote '>Этот вопрос к сетевому программированию отношения не имеет - это вопос о взаимодействии процессов. </div></div><br>
Совершенно справедливо...<br>
Здесь скорее всего речь идет о создании протокола мультиконнекта.]]></description>
        <author>Oleg2004</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413371&amp;view=findpost&amp;p=3775954</guid>
        <pubDate>Thu, 09 Aug 2018 14:53:24 +0000</pubDate>
        <title>Два соединения для коннекта клиента-сервера?</title>
        <link>https://forum.sources.ru/index.php?showtopic=413371&amp;view=findpost&amp;p=3775954</link>
        <description><![CDATA[ЫукпШ: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413371&view=findpost&p=3775896'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>JoeUser &#064; <time class="tag-quote__quoted-time" datetime="2018-08-08T14:56:51+00:00">08.08.18, 14:56</time></span><div class='quote '>Часто возникает ситуация, когда одна из сторон (клиент или/и сервер) долго обрабатывают поставленную задачу. Стандартный способ - использование тайм-аутов.</div></div><br>
Допустим, клиент законнектился к серверу и сделал запрос.<br>
Предполагается, что сервер будет &quot;долго&quot; его выполнять. Пусть он для этого запустит другой поток<br>
и будет готов выполнять другие запросы клиента.<br>
Возможен запуск нескольких (разных или одинаковых) длительно обрабатывающихся запросов.<br>
Клиент может запрашивать состояние работ на сервере (что продолжает выполняться по его запросу, а что уже нет) <br>
т.е. флаги &quot;Busy/Ready&quot;. И коды ошибок завершения, конечно.<br>
Возможно также запрашивать процент выполненной работы - это как захочешь.<br>
---<br>
Этот вопрос к сетевому программированию отношения не имеет - это вопос о взаимодействии процессов.]]></description>
        <author>ЫукпШ</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413371&amp;view=findpost&amp;p=3775953</guid>
        <pubDate>Thu, 09 Aug 2018 13:32:06 +0000</pubDate>
        <title>Два соединения для коннекта клиента-сервера?</title>
        <link>https://forum.sources.ru/index.php?showtopic=413371&amp;view=findpost&amp;p=3775953</link>
        <description><![CDATA[Олег М: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413371&view=findpost&p=3775952'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>JoeUser &#064; <time class="tag-quote__quoted-time" datetime="2018-08-09T13:11:28+00:00">09.08.18, 13:11</time></span><div class='quote '>Увы, сетевым программированием я ранее не занимался. Пока почитываю материалы в сети. Запомнилось одно утверждение &quot;если есть возможность в архитектуре приложения использовать блокируемые сокеты, то лучше использовать их, а не неблокируемые&quot;. Правильно ли это?</div></div><br>
Думаю, да. Лично я обычно использую блокирующие. Для неблокирующих сокетов единственно, что функции connect и recv возвращаются сразу, но, как правило, это не нужно, даже мешает.<br>
А чтобы не блокировался recv надо перед его вызовом запрашивать количество данных в буфере.]]></description>
        <author>Олег М</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413371&amp;view=findpost&amp;p=3775952</guid>
        <pubDate>Thu, 09 Aug 2018 13:11:28 +0000</pubDate>
        <title>Два соединения для коннекта клиента-сервера?</title>
        <link>https://forum.sources.ru/index.php?showtopic=413371&amp;view=findpost&amp;p=3775952</link>
        <description><![CDATA[JoeUser: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=413371&view=findpost&p=3775930'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Олег М &#064; <time class="tag-quote__quoted-time" datetime="2018-08-09T08:26:24+00:00">09.08.18, 08:26</time></span><div class='quote '>На обработчике в любом случае придётся запускать новый поток для чтения второго коннекта. Тогда уж лучше сам запрос выполнять асинхронно, и контролировать его выполнение по тому же коннекту, по которому пришёл запрос. Всё равно, по-хорошему, надо из него вычитывать данные, чтобы не было переполнения буфера. </div></div><br>
Увы, сетевым программированием я ранее не занимался. Пока почитываю материалы в сети. Запомнилось одно утверждение &quot;если есть возможность в архитектуре приложения использовать блокируемые сокеты, то лучше использовать их, а не неблокируемые&quot;. Правильно ли это?]]></description>
        <author>JoeUser</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413371&amp;view=findpost&amp;p=3775930</guid>
        <pubDate>Thu, 09 Aug 2018 08:26:24 +0000</pubDate>
        <title>Два соединения для коннекта клиента-сервера?</title>
        <link>https://forum.sources.ru/index.php?showtopic=413371&amp;view=findpost&amp;p=3775930</link>
        <description><![CDATA[Олег М: На обработчике в любом случае придётся запускать новый поток для чтения второго коннекта. Тогда уж лучше сам запрос выполнять асинхронно, и контролировать его выполнение по тому же коннекту, по которому пришёл запрос. Всё равно, по-хорошему, надо из него вычитывать данные, чтобы не было переполнения буфера.]]></description>
        <author>Олег М</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413371&amp;view=findpost&amp;p=3775926</guid>
        <pubDate>Thu, 09 Aug 2018 07:37:16 +0000</pubDate>
        <title>Два соединения для коннекта клиента-сервера?</title>
        <link>https://forum.sources.ru/index.php?showtopic=413371&amp;view=findpost&amp;p=3775926</link>
        <description><![CDATA[Oleg2004: В общем идея здравая и имеет право на жизнь...после тестирования :D <br>Вот тогда плюсы и минусы всплывут сами... :)]]></description>
        <author>Oleg2004</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=413371&amp;view=findpost&amp;p=3775896</guid>
        <pubDate>Wed, 08 Aug 2018 14:56:51 +0000</pubDate>
        <title>Два соединения для коннекта клиента-сервера?</title>
        <link>https://forum.sources.ru/index.php?showtopic=413371&amp;view=findpost&amp;p=3775896</link>
        <description><![CDATA[JoeUser: Всем привет&#33;<br><br>Часто возникает ситуация, когда одна из сторон (клиент или/и сервер) долго обрабатывают поставленную задачу. Стандартный способ - использование тайм-аутов. Но тут тоже есть минус - как определить &quot;достаточность&quot; тайм-аута. Возникла мысль, а что если сделать два соединения. Одно, собственно, рабочее, в второе - &quot;типа для проверки&quot;. Сценарий примерно следующий. По первому соединению идет постановка задачи и ожидание ответа. Второе соединение раз в промежуток времени опрашивает вторую сторону &quot;мол жив здоров?&quot;. Ответом должно быть нечто &quot;Ok &lt;цифра&gt;&quot;. Под цифрой можно понимать разное, например, текущий счетчик итераций, процент выполнения, если это считаемо, может еще чего. Естественно, если по второму соединению нет ответа за уже конечный тайм-аут, значит что-то пошло не так. И тогда оба соединения закрываются принудительно.<br><br>Ваши мысли? Плюсы? Минусы?]]></description>
        <author>JoeUser</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      </channel>
      </rss>
	