<?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=381826&amp;view=findpost&amp;p=3366279</guid>
        <pubDate>Sat, 19 Oct 2013 14:30:06 +0000</pubDate>
        <title>UDP клиент и сервер</title>
        <link>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3366279</link>
        <description><![CDATA[Oleg2004: Я рад что все получилось... :)<br>Ставьте пометку - Вопрос решен...]]></description>
        <author>Oleg2004</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3366219</guid>
        <pubDate>Sat, 19 Oct 2013 09:23:30 +0000</pubDate>
        <title>UDP клиент и сервер</title>
        <link>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3366219</link>
        <description><![CDATA[Alexei: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=381826&view=findpost&p=3366058'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Oleg2004 &#064; <time class="tag-quote__quoted-time" datetime="2013-10-18T15:33:01+00:00">18.10.13, 15:33</time></span><div class='quote '> и все дела.</div></div><br>
Сделал с WSAEventSelect без лишних потоков.Телефон(клиент) не виснет если закрыть сервер совсем, или только передачу.При &quot;реанимации&quot; сервера, работа вознобнавляется. :yes:]]></description>
        <author>Alexei</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3366058</guid>
        <pubDate>Fri, 18 Oct 2013 15:33:01 +0000</pubDate>
        <title>UDP клиент и сервер</title>
        <link>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3366058</link>
        <description><![CDATA[Oleg2004: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=381826&view=findpost&p=3365886'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Alexei &#064; <time class="tag-quote__quoted-time" datetime="2013-10-18T09:47:42+00:00">18.10.13, 09:47</time></span><div class='quote '>Главное, получить от сервера 8 байт(даже , возможно 4) , их надо считать с джойстиков.</div></div><br>
Ну так в чем проблема то?<br>
Значит висим на recvfrom() и все дела.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=381826&view=findpost&p=3365886'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Alexei &#064; <time class="tag-quote__quoted-time" datetime="2013-10-18T09:47:42+00:00">18.10.13, 09:47</time></span><div class='quote '>Сейчас меня больше удручает необходимость создания потока в клиенте :(</div></div><br>
Теперь я снова не убежден что вам нужны потоки .<br>
UDP-клиенты вообще примитивны...впрочем как и сервера.<br>
Впрочем воля ваша...]]></description>
        <author>Oleg2004</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3365886</guid>
        <pubDate>Fri, 18 Oct 2013 09:47:42 +0000</pubDate>
        <title>UDP клиент и сервер</title>
        <link>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3365886</link>
        <description><![CDATA[Alexei: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=381826&view=findpost&p=3365718'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Oleg2004 &#064; <time class="tag-quote__quoted-time" datetime="2013-10-17T18:58:43+00:00">17.10.13, 18:58</time></span><div class='quote '>Какая конкретно под него задача решается?</div></div><br>
Пока,цифирки показываются в окошках. :) <br>
Акселерометр взят на вскиду, чтобы было что передать в запросе.Для опытов.:) Может , в другой задаче будет управлять курсором.<br>
Главное, получить от сервера 8 байт(даже , возможно 4) , их надо считать с джойстиков.<br>
В принципе, сервер может быть консольным, если это облегчит жизнь.<br>
Сейчас меня больше удручает необходимость создания потока в клиенте :(<br>
В нем я бы хотел поэкономить ресурсы.]]></description>
        <author>Alexei</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3365718</guid>
        <pubDate>Thu, 17 Oct 2013 18:58:43 +0000</pubDate>
        <title>UDP клиент и сервер</title>
        <link>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3365718</link>
        <description><![CDATA[Oleg2004: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=381826&view=findpost&p=3365635'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Alexei &#064; <time class="tag-quote__quoted-time" datetime="2013-10-17T14:44:41+00:00">17.10.13, 14:44</time></span><div class='quote '>1.Во-первых желательно,</div></div><br>
Желательно - это не означает что есть возможность реализовать желание. К этому надо стремиться, однако...<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '> во-вторых телефон успевает опросить, например акселерометр за это время, в-третьих ,возможно это и будет на только одном ПК.</div></div><br>
Если предполагается обработка где-то в сети на одном ПК - как я писал, будут проблемы.<br>
И акселерометр???<br>
Какая конкретно под него задача решается?<br>
Поэтому как я еще раз повторю - интервал 20 мс может? быть реален только тогда, когда обработка его производится на одной и той же машине. Если телефон отдельно а ПК - в обычной Ethernet сети отдельно, следует менять концепцию.<br>
Имхо.<br>
Это и есть - описание алгоритма...<br>
Буду рад, если вы меня опровергнете.  <br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Сейчас, вот проблема- похоже WSAAsyncSelect нет в вин се :angry:</div></div><br>
Да, я проверил - в спецификацию Winsock 1.1  WSAAsyncSelect() входит, и хотя Микрософт заверяла, что эта спецификация поддерживается Windows CE - на самом деле это не так. Это же пишет и Олунд.<br>
В результате действительно так - в мобильных системах не поддерживается, увы.]]></description>
        <author>Oleg2004</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3365635</guid>
        <pubDate>Thu, 17 Oct 2013 14:44:41 +0000</pubDate>
        <title>UDP клиент и сервер</title>
        <link>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3365635</link>
        <description><![CDATA[Alexei: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=381826&view=findpost&p=3365553'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Oleg2004 &#064; <time class="tag-quote__quoted-time" datetime="2013-10-17T12:20:11+00:00">17.10.13, 12:20</time></span><div class='quote '>Ну и как это представляете себе?</div></div><br>
1.Во-первых желательно, во-вторых телефон успевает опросить,например акселерометр за это время, в-третьих ,возможно это и будет на только одном ПК.<br>
2. Там не сложно :) Клиенту будет сложнее.<br>
Когда эта проблема возникнет -будем порешать... :P <br>
<br>
Сейчас, вот проблема- похоже WSAAsyncSelect нет в вин се :angry:]]></description>
        <author>Alexei</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3365553</guid>
        <pubDate>Thu, 17 Oct 2013 12:20:11 +0000</pubDate>
        <title>UDP клиент и сервер</title>
        <link>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3365553</link>
        <description><![CDATA[Oleg2004: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=381826&view=findpost&p=3365538'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Alexei &#064; <time class="tag-quote__quoted-time" datetime="2013-10-17T11:48:17+00:00">17.10.13, 11:48</time></span><div class='quote '>Дык, в самом начале я все однозначно пожелал</div></div><br>
Это на алгоритм не похоже:<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=381826&view=findpost&p=3359531'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Alexei &#064; <time class="tag-quote__quoted-time" datetime="2013-09-28T11:24:36+00:00">28.09.13, 11:24</time></span><div class='quote '>Хочу сделать следующее:<br>
Клиент на Винмобаил каждые 20 мС(желательно) шлет на сервер несколько байт.<br>
Сервер шлет ему свои несколько байт, затем подготавливает данные для следующего раза.<br>
Клиент будет только один.</div></div><br>
Смотрим по шагам:<br>
1. Клиент на Винмобаил каждые 20 мС(желательно) шлет на сервер несколько байт. <br>
Ну и как это представляете себе?<br>
20 мс - это обычный таймслайс для большинства операционных систем. Я не знаю на какой ОС у вас сервер, но тем не менее - вот пришли на серверный компутер первые байты. Если там куча приложений - то всем им дается интервал процессорного времени - и практически сто процентов, что серверное приложение получит эти байты через 20 мс+время по сети. На работу сервера выделяется тоже 20 мс за эти мс он должен принять, обработать и послать - а потом получит процессорное время после 100 мс или больше. А тут вы клиентиом уже 5 раз по 20 мс ему шлете свои байты... Не получается однако...<br>
Если эта схема будет работать на одной машине - и то я сомневаюсь в синхронизации процессов приема/отправки. 20 мс - это нереально...<br>
Предполагаю, что первый обмен у вас еще получится, но все последующие....<br>
2. Что означает - подготавливает данные..? Он знает, что вы ему на подготовку отпустили всего 20 мс?]]></description>
        <author>Oleg2004</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3365538</guid>
        <pubDate>Thu, 17 Oct 2013 11:48:17 +0000</pubDate>
        <title>UDP клиент и сервер</title>
        <link>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3365538</link>
        <description><![CDATA[Alexei: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=381826&view=findpost&p=3365178'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Oleg2004 &#064; <time class="tag-quote__quoted-time" datetime="2013-10-16T16:22:19+00:00">16.10.13, 16:22</time></span><div class='quote '>ей могут быть не по нраву ваши планы...</div></div><br>
Так поэтому я и выбрал UDP.Что не успело- то опоздало.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=381826&view=findpost&p=3365178'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Oleg2004 &#064; <time class="tag-quote__quoted-time" datetime="2013-10-16T16:22:19+00:00">16.10.13, 16:22</time></span><div class='quote '>- точный и однозначный алгоритм взаимодействия клиент-сервер.</div></div><br>
Дык, в самом начале я все однозначно пожелал<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=381826&view=findpost&p=3359531'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Alexei &#064; <time class="tag-quote__quoted-time" datetime="2013-09-28T11:24:36+00:00">28.09.13, 11:24</time></span><div class='quote '>Клиент на Винмобаил каждые 20мС(желательно) шлет на сервер несколько байт.<br>
Сервер шлет ему свои несколько байт, затем подготавливает данные для следующего раза.<br>
Клиент будет только один.</div></div><br>
 и, главное, чтобы клиент не вис, никогда&#33;  :) <br>
Пакеты могут теряться, связь пропадать, но программа должна реализовывать мои , далеко идущие ,планы. :)]]></description>
        <author>Alexei</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3365178</guid>
        <pubDate>Wed, 16 Oct 2013 16:22:19 +0000</pubDate>
        <title>UDP клиент и сервер</title>
        <link>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3365178</link>
        <description><![CDATA[Oleg2004: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=381826&view=findpost&p=3365149'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Alexei &#064; <time class="tag-quote__quoted-time" datetime="2013-10-16T14:28:18+00:00">16.10.13, 14:28</time></span><div class='quote '><br>
Так она просто будет останавливать программу, а у меня большие планы :)</div></div><br>
Ну ну.... :) <br>
К сожалению вы должны смириться с мыслью, что в сетевом программировании мы сплошь и рядом имеем дело с двумя вещами - кучей буферов по дороге данных - и кучу временных задержек - в основном недетерминированных, потому как сеть оооооочень капризный файл.<br>
И ей могут быть не по нраву ваши планы...<br>
Но зачем вам таймер теперь я понял :yes: <br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=381826&view=findpost&p=3365149'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Alexei &#064; <time class="tag-quote__quoted-time" datetime="2013-10-16T14:28:18+00:00">16.10.13, 14:28</time></span><div class='quote '>Я попробовал WSAAsyncSelect , для wm6.1 все скомпилировалось(</div></div><br>
Не вопрос, WSAAsyncSelect всегда входила в спецификацию Winsock 1.1 для Windows CE (а это основа всех мобильных операционок микрософта)<br>
Так что Билл не виноват... :D <br>
Вы бы код опубликовали ...тогда можно говорить предметно.<br>
И - точный и однозначный алгоритм взаимодействия клиент-сервер.]]></description>
        <author>Oleg2004</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3365149</guid>
        <pubDate>Wed, 16 Oct 2013 14:28:18 +0000</pubDate>
        <title>UDP клиент и сервер</title>
        <link>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3365149</link>
        <description><![CDATA[Alexei: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=381826&view=findpost&p=3364846'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Oleg2004 &#064; <time class="tag-quote__quoted-time" datetime="2013-10-15T19:08:02+00:00">15.10.13, 19:08</time></span><div class='quote '>Я бы лучше вызывал sleep().</div></div><br>
Так она просто будет останавливать программу, а у меня большие планы :)<br>
<br>
Я попробовал WSAAsyncSelect , для wm6.1 все скомпилировалось(Гейц сам уже ничего не помнит) и так же работает и ... виснет также. :)]]></description>
        <author>Alexei</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3364846</guid>
        <pubDate>Tue, 15 Oct 2013 19:08:02 +0000</pubDate>
        <title>UDP клиент и сервер</title>
        <link>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3364846</link>
        <description><![CDATA[Oleg2004: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=381826&view=findpost&p=3364740'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Alexei &#064; <time class="tag-quote__quoted-time" datetime="2013-10-15T13:59:18+00:00">15.10.13, 13:59</time></span><div class='quote '><br>
Таймер нужен для того, чтобы запрашивать данные с сервера с нужной периодичностью. </div></div><br>
Понятно.<br>
Я бы лучше вызывал sleep(). <br>
И никаких сообщений от таймера.<br>
Впрочем, на вкус и цвет... :)]]></description>
        <author>Oleg2004</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3364740</guid>
        <pubDate>Tue, 15 Oct 2013 13:59:18 +0000</pubDate>
        <title>UDP клиент и сервер</title>
        <link>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3364740</link>
        <description><![CDATA[Alexei: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=381826&view=findpost&p=3364738'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Oleg2004 &#064; <time class="tag-quote__quoted-time" datetime="2013-10-15T13:53:13+00:00">15.10.13, 13:53</time></span><div class='quote '>зачем нужен таймер</div></div><br>
Таймер нужен для того, чтобы запрашивать данные с сервера с нужной периодичностью.]]></description>
        <author>Alexei</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3364738</guid>
        <pubDate>Tue, 15 Oct 2013 13:53:13 +0000</pubDate>
        <title>UDP клиент и сервер</title>
        <link>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3364738</link>
        <description><![CDATA[Oleg2004: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=381826&view=findpost&p=3364616'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Alexei &#064; <time class="tag-quote__quoted-time" datetime="2013-10-15T10:07:01+00:00">15.10.13, 10:07</time></span><div class='quote '><br>
Думаю для начала, надо представлять что вообще надо. :)</div></div><br>
Это ваши проблемы :D <br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=381826&view=findpost&p=3364616'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Alexei &#064; <time class="tag-quote__quoted-time" datetime="2013-10-15T10:07:01+00:00">15.10.13, 10:07</time></span><div class='quote '>Подозреваю, надо послать пакет sendto-ом , далее подождать в select некоторое время , после чего либо recvfrom, либо ждать сообщения от таймера.</div></div><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">#include &#60;sys/time.h&#62; </div><div class="code_line">#include &#60;sys/types.h&#62; </div><div class="code_line">#include &#60;unistd.h&#62; </div><div class="code_line">#define STDIN 0 &nbsp; &nbsp; /* дескриптор файла для стандартного ввода */</div><div class="code_line">main ()</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;{ &nbsp; struct timeval tv;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fd_set readfds;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tv.tv_sec = 2;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tv.tv_usec = 500000;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;FD_ZERO(&amp;readfds);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;FD_SET (STDIN, &amp;readfds);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* Нас не интересуют writefds и errorfds */</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;select (STDIN+1, &amp;readfds, NULL, NULL, &amp;tv); </div><div class="code_line">/*После нажатия клавиши клавиатуры нажать Enter*/</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (FD_ISSET (STDIN, &amp;readfds))</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;printf (&quot; Клавиша была нажата! \n &quot;)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; else</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;printf (&quot;Timed out \n &quot;);</div><div class="code_line">&nbsp;&nbsp; &nbsp; }</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
Селект ждет 2,5 сек, чтобы нажали клавишу на клаве...<br>
Селектом ждать можно чего угодно и как угодно..]]></description>
        <author>Oleg2004</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3364616</guid>
        <pubDate>Tue, 15 Oct 2013 10:07:01 +0000</pubDate>
        <title>UDP клиент и сервер</title>
        <link>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3364616</link>
        <description><![CDATA[Alexei: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=381826&view=findpost&p=3364427'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Oleg2004 &#064; <time class="tag-quote__quoted-time" datetime="2013-10-14T17:43:42+00:00">14.10.13, 17:43</time></span><div class='quote '> надо представлять, что он будет делать.</div></div><br>
Думаю для начала, надо представлять что вообще надо. :)<br>
А надо мне изменить работу клиента(работа сервера меня в целом устраивает)<br>
Хотелось бы сделать так , чтобы клиент , послав пакет , не зависал, если возникнут проблемы с ответом , а продолжал работу и по таймеру послал следующий пакет.<br>
Подозреваю, надо послать пакет sendto-ом , далее подождать в select некоторое время , после чего либо  recvfrom, либо ждать сообщения от таймера.<br>
sendto , наверно , в обработке сообщения от таймера, recvfrom обработке сообщения от select, а select в потоке. Типа того?]]></description>
        <author>Alexei</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3364427</guid>
        <pubDate>Mon, 14 Oct 2013 17:43:42 +0000</pubDate>
        <title>UDP клиент и сервер</title>
        <link>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3364427</link>
        <description><![CDATA[Oleg2004: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=381826&view=findpost&p=3364306'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Alexei &#064; <time class="tag-quote__quoted-time" datetime="2013-10-14T12:52:15+00:00">14.10.13, 12:52</time></span><div class='quote '>Непонятно было куда засунуть селект, но если в поток, а из него слать сообщения и в их обработке слать и принимать?</div></div><br>
Ну, для того чтобы засунуть куда-нибудь селект, надо представлять, что он будет делать.<br>
Если у вас UDP-сервер, то на прием он висит на recvfrom(). У него нет внутреннего таймаута, а потому висеть может годами. Если такая ситуация не устраивает, то висят на селекте - но уже с таймаутом. Вот и весь смысл.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=381826&view=findpost&p=3364306'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Alexei &#064; <time class="tag-quote__quoted-time" datetime="2013-10-14T12:52:15+00:00">14.10.13, 12:52</time></span><div class='quote '>Я пишу #include &lt;winsock2.h&gt; и никто не против, :)</div></div><br>
Зря. winsock2.h просто содержит всю информацию winsock.h - и только.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=381826&view=findpost&p=3364306'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Alexei &#064; <time class="tag-quote__quoted-time" datetime="2013-10-14T12:52:15+00:00">14.10.13, 12:52</time></span><div class='quote '>Wireshark. Он пишет &quot;malformed&quot;, а в место данных там эррор. А в графе протокол вместо UDP пишет TAPA.</div></div><br>
TAPA (Trapeze Access Point Access Protocol)<br>
В Wiresharkе есть клизмы, когда он неправильно определяет протокол и не может его анализировать...<br>
А <a class='tag-url' href='http://www.linuxtopia.org/online_books/network_security/wireshark_user_guide/wireshark_AppMessages.html' target='_blank'>здесь</a> про &quot;malformed&quot;]]></description>
        <author>Oleg2004</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3364306</guid>
        <pubDate>Mon, 14 Oct 2013 12:52:15 +0000</pubDate>
        <title>UDP клиент и сервер</title>
        <link>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3364306</link>
        <description><![CDATA[Alexei: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=381826&view=findpost&p=3364217'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Adil &#064; <time class="tag-quote__quoted-time" datetime="2013-10-14T11:23:31+00:00">14.10.13, 11:23</time></span><div class='quote '>этот код вынести в отдельный поток</div></div><br>
Дык у меня так и сделано в сервере. recvfrom и sendto в потоке.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=381826&view=findpost&p=3364196'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Oleg2004 &#064; <time class="tag-quote__quoted-time" datetime="2013-10-14T10:53:08+00:00">14.10.13, 10:53</time></span><div class='quote '>Это так, быстро и на пальцах... </div></div><br>
На таких пальцах я и сам представляю.:) Непонятно было куда засунуть селект, но если в поток , а из него слать сообщения и в их обработке слать и принимать?<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=381826&view=findpost&p=3364196'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Oleg2004 &#064; <time class="tag-quote__quoted-time" datetime="2013-10-14T10:53:08+00:00">14.10.13, 10:53</time></span><div class='quote '>утверждает, что API для винмобиле не включает </div></div><br>
Возможно.<br>
Я пишу #include &lt;winsock2.h&gt; и никто не против, :)<br>
 <br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=381826&view=findpost&p=3364196'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Oleg2004 &#064; <time class="tag-quote__quoted-time" datetime="2013-10-14T10:53:08+00:00">14.10.13, 10:53</time></span><div class='quote '>Какой смысл вы вкладываете в понятие &quot;деформированные&quot; пакеты?</div></div><br>
Ну &quot;уродливые&quot; , это не я , это Wireshark . Он пишет &quot;malformed&quot; , а в место данных там эррор.А в графе протокол вместо UDP пишет TAPA. (не знаю что это , но догадываюсь первые буквы надо заменить на &quot;ЖО&quot; :) )<br>
Причем такие пакеты шлют и тот и другой. <br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=381826&view=findpost&p=3364180'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>ЫукпШ &#064; <time class="tag-quote__quoted-time" datetime="2013-10-14T10:34:50+00:00">14.10.13, 10:34</time></span><div class='quote '>Дело в том, что обмен с сервером DNS производится посредством UDP.</div></div><br>
У меня нет ДНС (я надеюсь :)  ) все происходит в локальной сети: смартфон с вай-фаем -клиент , на писи- сервер, меж ними роутер с вай-фай.]]></description>
        <author>Alexei</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3364217</guid>
        <pubDate>Mon, 14 Oct 2013 11:23:31 +0000</pubDate>
        <title>UDP клиент и сервер</title>
        <link>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3364217</link>
        <description><![CDATA[Adil: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=381826&view=findpost&p=3364196'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Oleg2004 &#064; <time class="tag-quote__quoted-time" datetime="2013-10-14T10:53:08+00:00">14.10.13, 10:53</time></span><div class='quote '>Придется писать скажем в идеологии консоли, а потом код трансформировать в оконное приложение.</div></div>А потом этот код вынести в отдельный поток и не думать особо об окнах :)]]></description>
        <author>Adil</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3364196</guid>
        <pubDate>Mon, 14 Oct 2013 10:53:08 +0000</pubDate>
        <title>UDP клиент и сервер</title>
        <link>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3364196</link>
        <description><![CDATA[Oleg2004: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=381826&view=findpost&p=3364119'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Alexei &#064; <time class="tag-quote__quoted-time" datetime="2013-10-14T09:16:37+00:00">14.10.13, 09:16</time></span><div class='quote '>но я смотрел Wireshark-ом: часто то сервер, то клиент шлют &quot;деформированные&quot; пакеты</div></div><br>
Какой смысл вы вкладываете в понятие &quot;деформированные&quot; пакеты?<br>
Насчет Eventselect ()<br>
MSDN <a class='tag-url' href='http://msdn.microsoft.com/en-us/library/aa925696.aspx' target='_blank'>http://msdn.microsoft.com/en-us/library/aa925696.aspx</a><br>
утверждает, что API для винмобиле не включает WSAEventSelect()или WSAAsyncSelect().<br>
Сколько я помню, все варианты для мобильных систем работают на базе спецификации Винсок 1.1<br>
А вот select() там есть.<br>
Поэтому чисто оконного сетевого приложения найти будет трудно. Придется писать скажем в идеологии консоли, а потом код трансформировать в оконное приложение.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=381826&view=findpost&p=3364119'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Alexei &#064; <time class="tag-quote__quoted-time" datetime="2013-10-14T09:16:37+00:00">14.10.13, 09:16</time></span><div class='quote '>как это будет выглядеть в оконной программе? </div></div><br>
Для начала вы должны познакомиться с идеологией работы оконных приложений. <br>
Оконное приложение всегда &quot;висит&quot; в цикле обработки сообщений. <br>
Сообщения приходят от системы и передаются по хендлу окна, а обработчик сообщений выполняет необходимые действия. Это так, быстро и на пальцах... :)]]></description>
        <author>Oleg2004</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3364180</guid>
        <pubDate>Mon, 14 Oct 2013 10:34:50 +0000</pubDate>
        <title>UDP клиент и сервер</title>
        <link>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3364180</link>
        <description><![CDATA[ЫукпШ: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=381826&view=findpost&p=3364119'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Alexei &#064; <time class="tag-quote__quoted-time" datetime="2013-10-14T09:16:37+00:00">14.10.13, 09:16</time></span><div class='quote '>... я смотрел Wireshark-ом: часто то сервер, то клиент шлют &quot;деформированные&quot; пакеты , так что , наверно, имеет смысл прислушаться к вашим советам по  select.</div></div><br>
Это не совсем понятно. Надо разбираться.<br>
Дело в том, что обмен с сервером DNS производится посредством UDP.<br>
И если бы дело действительно было так плохо, интернет-сёрфинг<br>
был бы не возможным. Или не комфортным.<br>
Торрент - клиенты тоже (вроде) используют UDP для передачи информации.]]></description>
        <author>ЫукпШ</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3364119</guid>
        <pubDate>Mon, 14 Oct 2013 09:16:37 +0000</pubDate>
        <title>UDP клиент и сервер</title>
        <link>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3364119</link>
        <description><![CDATA[Alexei: Рад что вас развеселил&#33; :)<br>Вобщем у меня как-то все работает, но я смотрел Wireshark-ом: часто то сервер, то клиент шлют &quot;деформированные&quot; пакеты , так что , наверно, имеет смысл прислушаться к вашим советам по  select. Хотя, мне больше понравился EventSelect. <br>Но все примеры даны для консольных программ,  а у меня будет оконная(в винмоб , помоему, других нет) .<br>Поэтому никто не будет так любезен показать  структурно, как это будет выглядеть в оконной программе?]]></description>
        <author>Alexei</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3360077</guid>
        <pubDate>Mon, 30 Sep 2013 19:53:16 +0000</pubDate>
        <title>UDP клиент и сервер</title>
        <link>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3360077</link>
        <description><![CDATA[Oleg2004: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=381826&view=findpost&p=3359621'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>ЫукпШ &#064; <time class="tag-quote__quoted-time" datetime="2013-09-28T20:41:18+00:00">28.09.13, 20:41</time></span><div class='quote '>Лучше висеть на select.</div></div><br>
Кто бы сомневался... :D <br>
К сожалению, я именно это и предполагал, предложив топикстартеру цикл с recvfrom.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=381826&view=findpost&p=3359666'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Alexei &#064; <time class="tag-quote__quoted-time" datetime="2013-09-29T08:43:55+00:00">29.09.13, 08:43</time></span><div class='quote '>У меня он вообще не используется &#33; :o<br>
Ну я еще тот пограмист ;)<br>
Все решилось вставкой бесконечного цикла в процесс с recvfrom.</div></div> :) <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2013-09-30T19:55:46+00:00">30.09.13, 19:55</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=381826&view=findpost&p=3359621'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>ЫукпШ &#064; <time class="tag-quote__quoted-time" datetime="2013-09-28T20:41:18+00:00">28.09.13, 20:41</time></span><div class='quote '>1. Для UDP нет разницы - &quot;клиент&quot; и &quot;сервер&quot; это будет почти одна и та-же программа.<br>
Тот, кто начинает обмен, называется клиентом.</div></div><br>
И с этим согласен, да вот только на сервере bind()обязателен, а на клиенте - три варианта - без бинда, с коннектом или биндом...]]></description>
        <author>Oleg2004</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3359689</guid>
        <pubDate>Sun, 29 Sep 2013 12:15:42 +0000</pubDate>
        <title>UDP клиент и сервер</title>
        <link>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3359689</link>
        <description><![CDATA[ЫукпШ: Вот тоже:<br>
<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=376622&view=findpost&p=3312608' target='_blank'>UDPsocket передача и прием пакетов (сообщение #3312608)</a>]]></description>
        <author>ЫукпШ</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3359684</guid>
        <pubDate>Sun, 29 Sep 2013 11:17:55 +0000</pubDate>
        <title>UDP клиент и сервер</title>
        <link>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3359684</link>
        <description><![CDATA[Mr.Delphist: Если верить StackOverflow, то вот работающий рецепт на select <a class='tag-url' href='http://stackoverflow.com/questions/15592089/implementing-udp-sockets-with-select-in-c' target='_blank'>http://stackoverflow.com/questions/1559208...ith-select-in-c</a><br>
Хотя я для UDP тоже гоняю recvfrom в цикле - и пока проблем не ощутил.]]></description>
        <author>Mr.Delphist</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3359666</guid>
        <pubDate>Sun, 29 Sep 2013 08:43:55 +0000</pubDate>
        <title>UDP клиент и сервер</title>
        <link>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3359666</link>
        <description><![CDATA[Alexei: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=381826&view=findpost&p=3359608'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Oleg2004 &#064; <time class="tag-quote__quoted-time" datetime="2013-09-28T18:51:10+00:00">28.09.13, 18:51</time></span><div class='quote '>обязан висеть</div></div><br>
Висеть, но не вешать все.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=381826&view=findpost&p=3359621'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>ЫукпШ &#064; <time class="tag-quote__quoted-time" datetime="2013-09-28T20:41:18+00:00">28.09.13, 20:41</time></span><div class='quote '>Лучше висеть на select.</div></div><br>
У меня он вообще не используется &#33; :o <br>
Ну я еще тот пограмист  ;) <br>
Все решилось вставкой бесконечного цикла в процесс с recvfrom.<br>
<br>
Спасибо.]]></description>
        <author>Alexei</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3359621</guid>
        <pubDate>Sat, 28 Sep 2013 20:41:18 +0000</pubDate>
        <title>UDP клиент и сервер</title>
        <link>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3359621</link>
        <description><![CDATA[ЫукпШ: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=381826&view=findpost&p=3359608'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Oleg2004 &#064; <time class="tag-quote__quoted-time" datetime="2013-09-28T18:51:10+00:00">28.09.13, 18:51</time></span><div class='quote '>Ну, сервер UDP <strong class='tag-b'>обязан </strong>висеть на recvfrom()- иначе это не сервер, а одноразовый шприц. :)</div></div><br>
Почему ?<br>
Лучше висеть на select.<br>
Сделаем так:<br>
1. Для UDP нет разницы - &quot;клиент&quot; и &quot;сервер&quot; это будет почти одна и та-же программа.<br>
Тот, кто начинает обмен, называется клиентом.<br>
2. Для удобства (отладки) клиент будет слушать один порт, сервер - другой.<br>
3. С некоторым тайм-аутом ожидаем приёма сообщения. исключительно для того, чтобы<br>
опросить, например, клавиатуру и корректно завершить приложение.<br>
4. Если сообщение получено проверим опять же селектом готовность к передаче<br>
и пошлём ответ. <br>
5. Проверим условие на окончание работы приложения. Если нет, всё повторим с пункта 3.<br>
<br>
Разница между клиентом и сервером только в том, что клиент первым посылает сообщение,<br>
а потом ожидает приёма. Послать сообщение можно в том числе и по нажатию какой - либо клавиши<br>
в пункте 5.]]></description>
        <author>ЫукпШ</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3359608</guid>
        <pubDate>Sat, 28 Sep 2013 18:51:10 +0000</pubDate>
        <title>UDP клиент и сервер</title>
        <link>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3359608</link>
        <description><![CDATA[Oleg2004: Ну, сервер UDP <strong class='tag-b'>обязан </strong>висеть на recvfrom()- иначе это не сервер, а одноразовый шприц. :)]]></description>
        <author>Oleg2004</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3359531</guid>
        <pubDate>Sat, 28 Sep 2013 11:24:36 +0000</pubDate>
        <title>UDP клиент и сервер</title>
        <link>https://forum.sources.ru/index.php?showtopic=381826&amp;view=findpost&amp;p=3359531</link>
        <description><![CDATA[Alexei: Хочу сделать следующее:<br>Клиент на Винмобаил каждые 20мС(желательно) шлет на сервер несколько байт.<br>Сервер шлет ему свои несколько байт, затем подготавливает данные для следующего раза.<br>Клиент будет только один.<br><br>Для опытов я сделал оконные клиент и сервер  на ВинХР на &quot;большом&quot; компе, пока без таймера.<br>Попытка реализовать это увенчалась частичным успехом , все работает,но только один раз   :), после чего(при следующей попытке), клиент зависает. :&#39;( <br>Если если перезапустить сервер, то клиент может послать еще одно сообщение.<br>Пробовал консольный сервер из &quot;Самоучителя по игре..&quot; ,c ним все работает, ну так он сам все время &quot;висит&quot; в while(1).<br>Думаю, я что-то в принципе не так делаю , поэтому код приводить смысла нет.Может, кто подскажет как надо.<br>Пишу на Си.]]></description>
        <author>Alexei</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      </channel>
      </rss>
	