<?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=348489&amp;view=findpost&amp;p=3055504</guid>
        <pubDate>Wed, 04 Jan 2012 03:43:42 +0000</pubDate>
        <title>странная странность: две копии приложения мешают работать друг другу</title>
        <link>https://forum.sources.ru/index.php?showtopic=348489&amp;view=findpost&amp;p=3055504</link>
        <description><![CDATA[progman: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=348489&view=findpost&p=3055430'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Adil &#064; <time class="tag-quote__quoted-time" datetime="2012-01-03T19:53:57+04:00">03.01.12, 15:53</time></span><div class='quote '>А может просто не надо было неразделяемый между процессами эвент делать именованным?</div></div><br>
угу. Старая дурацкая привычка именовать эвенты :-?]]></description>
        <author>progman</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=348489&amp;view=findpost&amp;p=3055430</guid>
        <pubDate>Tue, 03 Jan 2012 15:53:57 +0000</pubDate>
        <title>странная странность: две копии приложения мешают работать друг другу</title>
        <link>https://forum.sources.ru/index.php?showtopic=348489&amp;view=findpost&amp;p=3055430</link>
        <description><![CDATA[Adil: А может просто не надо было неразделяемый между процессами эвент делать именованным?]]></description>
        <author>Adil</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=348489&amp;view=findpost&amp;p=3055419</guid>
        <pubDate>Tue, 03 Jan 2012 14:20:37 +0000</pubDate>
        <title>странная странность: две копии приложения мешают работать друг другу</title>
        <link>https://forum.sources.ru/index.php?showtopic=348489&amp;view=findpost&amp;p=3055419</link>
        <description><![CDATA[progman: усе - разобрался.<br>
имя уникалоьное должно быть у эвента.<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">&nbsp;&nbsp; &nbsp;wchar_t eventname[ MAX_PATH ] = { 0 };</div><div class="code_line">&nbsp;&nbsp; &nbsp;swprintf_s( eventname, MAX_PATH, L&quot;FD_READ_FD_CLOSE_%d&quot;, ::GetTickCount() );</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;WSAEVENT hEventObject = ::CreateEvent( NULL, FALSE, FALSE, eventname );</div><div class="code_line">&nbsp;&nbsp; &nbsp;int succ = WSAEventSelect( sock, hEventObject, FD_READ | FD_CLOSE &nbsp;);</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
<br>
как часики швейцарские все заработало]]></description>
        <author>progman</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=348489&amp;view=findpost&amp;p=3055403</guid>
        <pubDate>Tue, 03 Jan 2012 13:32:57 +0000</pubDate>
        <title>странная странность: две копии приложения мешают работать друг другу</title>
        <link>https://forum.sources.ru/index.php?showtopic=348489&amp;view=findpost&amp;p=3055403</link>
        <description><![CDATA[Хрен: Ммм, вопрос мож глупый, но TCP или UDP?]]></description>
        <author>Хрен</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=348489&amp;view=findpost&amp;p=3055395</guid>
        <pubDate>Tue, 03 Jan 2012 13:17:49 +0000</pubDate>
        <title>странная странность: две копии приложения мешают работать друг другу</title>
        <link>https://forum.sources.ru/index.php?showtopic=348489&amp;view=findpost&amp;p=3055395</link>
        <description><![CDATA[progman: ситуация такая - тестирую клиент-сервер<br>
<br>
сервак на ноуте. клиент на компе.<br>
если запускаю один клиент то все работает идеально.<br>
стоит запустить второй как он ( второй клиент ) начинает безбожно глючить:<br>
по логам сервера ответный пакет был отослан, но клиент его не принимает ( и из-за этого висит так как ждет когда сервак ответит )<br>
висеть может долго, но стоит закрыть первый клиент как пакет чудесным образом приходит во второй клиент.<br>
<br>
причем подвиснуть может или на первой передачи клиент&lt;-&gt;сервер или на второй или вообще на 7й<br>
но 100% рано или поздно зависнет в ожидании пакета и дождется только, повторюсь, после закрытия первого клиента.<br>
<br>
<br>
вот сижу и чешу репу - где же накосячил я в архитектуре и как оно так вот вышло.<br>
<br>
ЗЫ само собой в ситуации когда оба клиента запускаются на разных компах все ок. но мне жутко неудобно тестить так (((<br>
фаерволы и антивирусы были первыми подозреваемыми и отключены - пофих.<br>
<br>
<br>
прием пакета работает так:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">WSAEVENT hEventObject = ::CreateEvent( NULL, FALSE, FALSE, L&quot;FD_READ | FD_CLOSE &quot; );</div><div class="code_line">int succ = WSAEventSelect( sock, hEventObject, FD_READ | FD_CLOSE &nbsp;);</div><div class="code_line">if( SOCKET_ERROR == succ )</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;pgLog::error( &quot;SocketCtrl::socketReceiveTread() FAILED to WSAEventSelect. Error=%d&quot;, WSAGetLastError());</div><div class="code_line">&nbsp;&nbsp; &nbsp;return -1;</div><div class="code_line">}</div><div class="code_line">WSAEVENT mEvents[2] = { hEventObject, NULL };</div></ol></div></div></div></div><br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">for(;;)</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;DWORD notify = WSAWaitForMultipleEvents( 1, mEvents, TRUE, WSA_INFINITE, FALSE ); </div><div class="code_line">//далее обработка</div><div class="code_line">}</div><div class="code_line">[CODE=cpp]</div></ol></div></div></div></div>]]></description>
        <author>progman</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      </channel>
      </rss>
	