<?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=414073&amp;view=findpost&amp;p=3788486</guid>
        <pubDate>Tue, 22 Jan 2019 13:32:21 +0000</pubDate>
        <title>UDP и Windows10</title>
        <link>https://forum.sources.ru/index.php?showtopic=414073&amp;view=findpost&amp;p=3788486</link>
        <description><![CDATA[Oleg2004: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=414073&view=findpost&p=3788478'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Adry &#064; <time class="tag-quote__quoted-time" datetime="2019-01-22T15:31:10+03:00">22.01.19, 12:31</time></span><div class='quote '> Клиент будет на другом устройстве (контроллере БигльБон), он может работать, может не работать.<br>
Если я завожу свое приложение в режиме сервера, я, получается, завишу от БигльБона: если он не работает, моя программа тоже не работает? </div></div><br>
Согласно стандартному общению по протоколу UDP, сервер висит на recvfrom() бесконечно - если он запущен один раз и на нем нет никаких таймаутов или каких то других условий - ну, например принял 5 пакетов и все, больше не буду работать - по которым он может прекратить свою работу.<br>
Клиент может запуститься, послать одну датаграмму или несколько - и отрубиться полностью - можно и комп вырубить. На сервер на другом устройстве это нисколько не влияет. Они ведь согласно вам находятся на физически разных устройствах...]]></description>
        <author>Oleg2004</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=414073&amp;view=findpost&amp;p=3788478</guid>
        <pubDate>Tue, 22 Jan 2019 12:31:10 +0000</pubDate>
        <title>UDP и Windows10</title>
        <link>https://forum.sources.ru/index.php?showtopic=414073&amp;view=findpost&amp;p=3788478</link>
        <description><![CDATA[Adry: <strong class='tag-b'>Oleg2004</strong>,<strong class='tag-b'>ЫукпШ</strong>, спасибо большое за помощь&#33;<br>
Клиент смог передать пакет серверу, сервер что-то получил.<br>
Проблема, как обычно, оказалась в прокладке между стулом и компьютером. Когда привела в порядок код (стиль &quot;деффочка в истерике&quot; обычно работает плохо) и разобралась с порядком обращений (клиент все же должен отправить запрос первым), процесс пошел.<br>
<br>
Правда, у меня образовался другой вопрос (может быть, подскажите, куда читать).<br>
У меня есть мое приложение - оно же сервер UDP. Клиент будет на другом устройстве (контроллере БигльБон), он может работать, может не работать.<br>
Если я завожу свое приложение в режиме сервера, я, получается, завишу от БигльБона: если он не работает, моя программа тоже не работает?]]></description>
        <author>Adry</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=414073&amp;view=findpost&amp;p=3788438</guid>
        <pubDate>Mon, 21 Jan 2019 15:41:36 +0000</pubDate>
        <title>UDP и Windows10</title>
        <link>https://forum.sources.ru/index.php?showtopic=414073&amp;view=findpost&amp;p=3788438</link>
        <description><![CDATA[Oleg2004: <strong class='tag-b'>Adry</strong><br>
Выложите пожалуйста последний вариант вашего кода - там где нет Listen  и Accept<br>
Четко обозначьте - здесь клиент, а здесь - сервер.<br>
Уберите  ioctlsocket() - в простом тестовом варианте он лишний, равно как и select()<br>
Логика взаимодействия очень простая.<br>
Сделайте все общение одноразовым.<br>
Запускаем сервер первым - и он ждет на recvfrom()<br>
Потом запускаем клиента и ждем приема на сервере. Сервер должен обязательно выдать сообщение о приеме.]]></description>
        <author>Oleg2004</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=414073&amp;view=findpost&amp;p=3788428</guid>
        <pubDate>Mon, 21 Jan 2019 13:15:56 +0000</pubDate>
        <title>UDP и Windows10</title>
        <link>https://forum.sources.ru/index.php?showtopic=414073&amp;view=findpost&amp;p=3788428</link>
        <description><![CDATA[Adry: Ни там, ни там не слышит <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="2019-01-21T13:26:27+00:00">21.01.19, 13:26</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=414073&view=findpost&p=3788426'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>ЫукпШ &#064; <time class="tag-quote__quoted-time" datetime="2019-01-21T13:10:12+00:00">21.01.19, 13:10</time></span><div class='quote '>Кроме того - допустим, WireShark не видит UDP пакеты некого приложения.<br>
А UDP пакеты DNS от браузера он видит ?<br>
Помню, что в похожей ситуации я их наблюдал.</div></div><br>
От совсем других IP адресов идут пакеты TCP иTLSv1.2 (Обмен данными с открытыми вкладками браузера?)<br>
<br>
По UDP идут пакеты <strong class='tag-b'>не</strong> с моего IP на мультикаст, если я правильно понимаю<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">&quot;114&quot;,&quot;16:17:05,085559&quot;,&quot;193.232.11.125&quot;,&quot;224.2.2.2&quot;,&quot;UDP&quot;,&quot;72&quot;,&quot;64914 → 8995 Len=30&quot;</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
Это, по-моему, адрес принтера какого-то]]></description>
        <author>Adry</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=414073&amp;view=findpost&amp;p=3788426</guid>
        <pubDate>Mon, 21 Jan 2019 13:10:12 +0000</pubDate>
        <title>UDP и Windows10</title>
        <link>https://forum.sources.ru/index.php?showtopic=414073&amp;view=findpost&amp;p=3788426</link>
        <description><![CDATA[ЫукпШ: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=414073&view=findpost&p=3788425'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Adry &#064; <time class="tag-quote__quoted-time" datetime="2019-01-21T13:08:57+00:00">21.01.19, 13:08</time></span><div class='quote '>Сейчас запускала  Wireshark , и он у меня спросил: &quot;Какой интерфейс будем слушать Ethernet1 или Ethernet2&quot;<br>
Задумалась.</div></div><br>
Прослушать оба. По очереди.<br>
Кроме того - допустим, WireShark не видит UDP пакеты некого приложения.<br>
А UDP пакеты DNS от браузера он видит ?<br>
Помню, что в похожей ситуации я их наблюдал.]]></description>
        <author>ЫукпШ</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=414073&amp;view=findpost&amp;p=3788425</guid>
        <pubDate>Mon, 21 Jan 2019 13:08:57 +0000</pubDate>
        <title>UDP и Windows10</title>
        <link>https://forum.sources.ru/index.php?showtopic=414073&amp;view=findpost&amp;p=3788425</link>
        <description><![CDATA[Adry: Сейчас запускала  Wireshark , и он у меня спросил: &quot;Какой интерфейс будем слушать Ethernet1 или Ethernet2&quot;<br>Задумалась.<br>Сетевая карта-то у меня одна. Но разъемов там два.<br>Если, допустим, Packet Sender шлет на Ethernet1, а Wireshark &quot;слушает&quot; Ethernet2....<br><br>Это может влиять вообще как-то?]]></description>
        <author>Adry</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=414073&amp;view=findpost&amp;p=3788424</guid>
        <pubDate>Mon, 21 Jan 2019 13:02:02 +0000</pubDate>
        <title>UDP и Windows10</title>
        <link>https://forum.sources.ru/index.php?showtopic=414073&amp;view=findpost&amp;p=3788424</link>
        <description><![CDATA[ЫукпШ: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=414073&view=findpost&p=3788419'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Adry &#064; <time class="tag-quote__quoted-time" datetime="2019-01-21T12:05:57+00:00">21.01.19, 12:05</time></span><div class='quote '>Может быть Винда как-то блокирует обмен по UDP и молчит?</div></div><br>
<strong class='tag-b'>Adry</strong>, блокировка сетевой активности конечно может быть.<br>
Это либо брандмауэр Касперского, либо самой Виндус.<br>
Это надо проверять.<br>
Однако, хочу заметить, что DNS-обмен обеспечивается<br>
протоколом поверх UDP. А раз &quot;интернет работает&quot; то<br>
принципиальных проблем с UDP в компе нет.<br>
---<br>
Готовые приложения я предлагал с целью <br>
&quot;послать UDP пакет и увидеть его ВиреШарком&quot;.]]></description>
        <author>ЫукпШ</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=414073&amp;view=findpost&amp;p=3788420</guid>
        <pubDate>Mon, 21 Jan 2019 12:06:59 +0000</pubDate>
        <title>UDP и Windows10</title>
        <link>https://forum.sources.ru/index.php?showtopic=414073&amp;view=findpost&amp;p=3788420</link>
        <description><![CDATA[JoeUser: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=414073&view=findpost&p=3788397'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Adry &#064; <time class="tag-quote__quoted-time" datetime="2019-01-21T07:08:31+00:00">21.01.19, 07:08</time></span><div class='quote '>Как и следовало ожидать, не помогло... </div></div><br>
Может быть поможет:<br>
<br>
<ol class="tag-list" type="1"><li><a class='tag-url' href='https://habr.com/ru/post/209144/' target='_blank'>Сетевое программирование для разработчиков игр. Часть 1: UDP vs. TCP</a></li><li><a class='tag-url' href='https://habr.com/ru/post/209524/' target='_blank'>Сетевое программирование для разработчиков игр. Часть 2: прием и передача пакетов данных</a></li><li><a class='tag-url' href='https://habr.com/ru/post/213559/' target='_blank'>Сетевое программирование для разработчиков игр. Часть 3: виртуальные соединения поверх UDP</a></li><li><a class='tag-url' href='https://habr.com/ru/post/276067/' target='_blank'>Сетевое программирование для разработчиков игр. Часть 4: Надежность, упорядочивание и избежание перегрузок поверх UDP</a></li></ol>]]></description>
        <author>JoeUser</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=414073&amp;view=findpost&amp;p=3788419</guid>
        <pubDate>Mon, 21 Jan 2019 12:05:57 +0000</pubDate>
        <title>UDP и Windows10</title>
        <link>https://forum.sources.ru/index.php?showtopic=414073&amp;view=findpost&amp;p=3788419</link>
        <description><![CDATA[Adry: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=414073&view=findpost&p=3788217'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>ЫукпШ &#064; <time class="tag-quote__quoted-time" datetime="2019-01-18T23:23:13+00:00">18.01.19, 23:23</time></span><div class='quote '>Пару Echo UDP Client и Echo UDP Server я могу дать, только сервер оформлен службой.</div></div><br>
Спасибо, я уже нашла Ваши приложения. Разбираюсь<br>
<br>
<br>
<br>
<br>
Еще раз хотелось бы подчеркнуть, что Wireshark и Packet Sender - это _НЕ МОИ_ приложения. Это выкачанные из интернета программы. <br>
И они у меня на машине (с Win10 и Касперским) друг друга не видят. <br>
Может быть Винда как-то блокирует обмен по UDP и молчит?]]></description>
        <author>Adry</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=414073&amp;view=findpost&amp;p=3788397</guid>
        <pubDate>Mon, 21 Jan 2019 07:08:31 +0000</pubDate>
        <title>UDP и Windows10</title>
        <link>https://forum.sources.ru/index.php?showtopic=414073&amp;view=findpost&amp;p=3788397</link>
        <description><![CDATA[Adry: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=414073&view=findpost&p=3788278'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Oleg2004 &#064; <time class="tag-quote__quoted-time" datetime="2019-01-19T19:04:27+00:00">19.01.19, 19:04</time></span><div class='quote '>Наверху страницы сетевого программирования есть кнопка Поиск - с лупой...<br>
Вбейте в запрос UDP и получите 6&#33; страниц и все про UDP вплоть и MFC и прочая...и простые коды для клиента сервера.<br>
И откуда в UDP такой код???<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '> <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">listen(handle, 3);</div><div class="code_line">new_handle = accept(handle, (struct sockaddr *)&amp;sin, (socklen_t*)&amp;addrlen);</div></ol></div></div></div></div><br>
</div></div><br>
Это только для TCP&#33;&#33;&#33;<br>
Найдите по поиску  код простого приложения для UDP и уж потом заверните его в классы...</div></div><br>
Да. Я даже отсюда <a class='tag-url' href='https://forum.sources.ru/index.php?showtopic=166220' target='_blank'>[C++] WinSock (простая библиотека)</a> скачала библиотеку. Неделю ее прикручивала, еще неделю разбиралась. Она у меня не заработала. :blush: <br>
<br>
accept это я уже от безнадеги в пятницу приписала. Как и следовало ожидать, не помогло...]]></description>
        <author>Adry</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=414073&amp;view=findpost&amp;p=3788278</guid>
        <pubDate>Sat, 19 Jan 2019 19:04:27 +0000</pubDate>
        <title>UDP и Windows10</title>
        <link>https://forum.sources.ru/index.php?showtopic=414073&amp;view=findpost&amp;p=3788278</link>
        <description><![CDATA[Oleg2004: Наверху страницы сетевого программирования есть кнопка Поиск - с лупой...<br>
Вбейте в запрос UDP и получите 6&#33; страниц и все про UDP вплоть и MFC и прочая...и простые коды для клиента сервера.<br>
И откуда в UDP такой код???<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '> <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">listen(handle, 3);</div><div class="code_line">new_handle = accept(handle, (struct sockaddr *)&amp;sin, (socklen_t*)&amp;addrlen);</div></ol></div></div></div></div><br>
</div></div><br>
Это только для TCP&#33;&#33;&#33;<br>
Найдите по поиску  код простого приложения для UDP и уж потом заверните его в классы...]]></description>
        <author>Oleg2004</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=414073&amp;view=findpost&amp;p=3788217</guid>
        <pubDate>Fri, 18 Jan 2019 23:23:13 +0000</pubDate>
        <title>UDP и Windows10</title>
        <link>https://forum.sources.ru/index.php?showtopic=414073&amp;view=findpost&amp;p=3788217</link>
        <description><![CDATA[ЫукпШ: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=414073&view=findpost&p=3788199'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Adry &#064; <time class="tag-quote__quoted-time" datetime="2019-01-18T12:51:20+00:00">18.01.19, 12:51</time></span><div class='quote '>У меня ПакетСендер И Ваершарк друг-друга не видят. Я боюсь, что что система блокирует UDP. А может и не только UDP</div></div><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; handle = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);</div></ol></div></div></div></div><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;int sent_bytes = sendto(new_handle, SendingData, SendingBytes, 0, (struct sockaddr *)&amp;client, sizeof(sockaddr_in))</div></ol></div></div></div></div><br>
точно правильно ?<br>
---<br>
Для клиента UDP общий алгоритм такой:<br>
1. WSAStartup<br>
2. Создаём Socket = ::socket(domain,type,protocol);<br>
3. заполним структуру struct sockaddr_in addr;<br>
4. посредством &quot;select&quot; узнаем, нет ли ошибки и готов ли сокет к передаче<br>
5. Если нет ошибок и готов к передаче -&gt; sendto(Socket,...<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">int SendTo (const TCHAR* pIp, unsigned short int port, const char *pBuf, size_t sizeBuf, int flags);</div></ol></div></div></div></div><br>
---<br>
Пару Echo UDP Client и Echo UDP Server я могу дать, только сервер оформлен службой.]]></description>
        <author>ЫукпШ</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=414073&amp;view=findpost&amp;p=3788202</guid>
        <pubDate>Fri, 18 Jan 2019 14:08:33 +0000</pubDate>
        <title>UDP и Windows10</title>
        <link>https://forum.sources.ru/index.php?showtopic=414073&amp;view=findpost&amp;p=3788202</link>
        <description><![CDATA[Олег М: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=414073&view=findpost&p=3788196'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Adry &#064; <time class="tag-quote__quoted-time" datetime="2019-01-18T12:36:23+00:00">18.01.19, 12:36</time></span><div class='quote '>Сделала пару сервер-клиент.<br>
Не хотят разговаривать между собой.</div></div><br>
Для UDP сокетов на сервере listen не нужно делать. Просто делаешь bind, потом в цикле select и recv, насколько я помню.]]></description>
        <author>Олег М</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=414073&amp;view=findpost&amp;p=3788199</guid>
        <pubDate>Fri, 18 Jan 2019 12:51:20 +0000</pubDate>
        <title>UDP и Windows10</title>
        <link>https://forum.sources.ru/index.php?showtopic=414073&amp;view=findpost&amp;p=3788199</link>
        <description><![CDATA[Adry: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=414073&view=findpost&p=3788198'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>JoeUser &#064; <time class="tag-quote__quoted-time" datetime="2019-01-18T12:47:23+00:00">18.01.19, 12:47</time></span><div class='quote '></div></div><br>
<br>
У меня ПакетСендер И Ваершарк друг-друга не видят. Я боюсь, что что система блокирует UDP. А может и не только UDP]]></description>
        <author>Adry</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=414073&amp;view=findpost&amp;p=3788198</guid>
        <pubDate>Fri, 18 Jan 2019 12:47:23 +0000</pubDate>
        <title>UDP и Windows10</title>
        <link>https://forum.sources.ru/index.php?showtopic=414073&amp;view=findpost&amp;p=3788198</link>
        <description><![CDATA[JoeUser: <strong class='tag-b'>Adry</strong>, код в студию&#33;  :)]]></description>
        <author>JoeUser</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=414073&amp;view=findpost&amp;p=3788196</guid>
        <pubDate>Fri, 18 Jan 2019 12:36:23 +0000</pubDate>
        <title>UDP и Windows10</title>
        <link>https://forum.sources.ru/index.php?showtopic=414073&amp;view=findpost&amp;p=3788196</link>
        <description><![CDATA[Adry: Доброго времени суток&#33;<br>
Поставили мне - НЕпрограммисту от слова совсем - сделать некую утилиту с использованием UDP. (Если это имеет значение, делаю оконное приложение в MFC на VisualStudio2017).<br>
Не работает.<br>
<br>
Сделала пару сервер-клиент.<br>
Не хотят разговаривать между собой.<br>
<br>
Достала из свалки ПО Packet Sender и Wireshark. Отправляю ПакетСендером &quot;Hello, world&quot; по UDP на адрес 127.0.0.1 или на свой IP, а Wireshark вообще не видит от меня вообще никаких пакетов по UDP.<br>
<br>
Брандмаузер и Касперского уже отключила.<br>
<br>
Помогите пожалуйста, а то уже скоро начну стучаться бубном об тейбл.  :wall:  :wall:<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">const char* SendingremoteIP = &quot;127.0.0.1&quot;;</div><div class="code_line">USHORT SendingremotePort = 5000;</div><div class="code_line">&nbsp;</div><div class="code_line">const char* ClientIP = &quot;127.0.0.1&quot;;</div><div class="code_line">USHORT ClientPort = 5050;</div><div class="code_line">&nbsp;</div><div class="code_line">int handle, new_handle;</div><div class="code_line">WSADATA WsaData;</div><div class="code_line">&nbsp;</div><div class="code_line">void CAutomat::StartSocket()</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;CString Msg;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;SOCKADDR_IN sin;</div><div class="code_line">&nbsp;&nbsp; &nbsp;sin.sin_family = AF_INET;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;sin.sin_port = htons(SendingremotePort);</div><div class="code_line">&nbsp;&nbsp; &nbsp;sin.sin_addr.s_addr = ::inet_addr(SendingremoteIP); </div><div class="code_line">&nbsp;&nbsp; &nbsp;int addrlen = sizeof(sin);</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;int errW = WSAStartup(0x0101, &amp;WsaData);</div><div class="code_line">&nbsp;&nbsp; &nbsp;if (errW == SOCKET_ERROR)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Msg.Format(&quot;WSAStartup() failed: %ld\n&quot;, GetLastError());</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;AfxMessageBox(Msg);</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;handle = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;if (handle &#60;= 0)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Msg.Format(&quot; failed to create socket\n %d\n&quot;, handle);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;AfxMessageBox(Msg);</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;else</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Msg.Format(&quot;socket created\n %d\n&quot;, handle);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;AfxMessageBox(Msg);</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;int errB = bind(handle, (const sockaddr*)&amp;sin, sizeof(sin));</div><div class="code_line">&nbsp;&nbsp; &nbsp;if (errB &#60; 0)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Msg.Format(&quot; failed to bind\n errB=%d Port=%d\n&quot;, errB, sin.sin_port);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;AfxMessageBox(Msg);</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;else</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Msg.Format(&quot;binded\n errB=%d Port=%d\n&quot;, errB, sin.sin_port);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;AfxMessageBox(Msg);</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;DWORD nonBlocking = 1;</div><div class="code_line">&nbsp;&nbsp; &nbsp;if (ioctlsocket(handle, FIONBIO, &amp;nonBlocking) != 0)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Msg.Format(&quot; Невозможно перевести порт в неблокирующий режим&quot;);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;AfxMessageBox(Msg);</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;listen(handle, 3);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;new_handle = accept(handle, (struct sockaddr *)&amp;sin, (socklen_t*)&amp;addrlen);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">}</div><div class="code_line">int CAutomat::Writeing(unsigned long WordNumber)</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;///Тест!!! Это надо удалить!!!!!</div><div class="code_line">&nbsp;&nbsp; &nbsp;AfxMessageBox(_T(&quot;Трансляция команды&quot;));</div><div class="code_line">&nbsp;&nbsp; &nbsp;CString Msg;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;char * SendingData;</div><div class="code_line">&nbsp;&nbsp; &nbsp;unsigned long SendingBytes;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;SOCKADDR_IN client;</div><div class="code_line">&nbsp;&nbsp; &nbsp;client.sin_family = AF_INET;</div><div class="code_line">&nbsp;&nbsp; &nbsp;client.sin_addr.s_addr = ::inet_addr(ClientIP);</div><div class="code_line">&nbsp;&nbsp; &nbsp;client.sin_port = htons(ClientPort);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;SendingData = &quot;Hello, world!&quot;;</div><div class="code_line">&nbsp;&nbsp; &nbsp;SendingBytes = sizeof(SendingData);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;int sent_bytes = sendto(new_handle, SendingData, SendingBytes, 0, (struct sockaddr *)&amp;client, sizeof(sockaddr_in)) ;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;if (sent_bytes != SendingBytes)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Msg.Format(&quot;Failed to send packet: return value = %d\n&quot;, sent_bytes);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;AfxMessageBox(Msg);</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;return 0;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Reading();</div><div class="code_line">&nbsp;</div><div class="code_line">}</div><div class="code_line">UINT16 CAutomat:: Reading()</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;CString Msg;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;SOCKADDR_IN client;</div><div class="code_line">&nbsp;&nbsp; &nbsp;client.sin_family = AF_INET;</div><div class="code_line">&nbsp;&nbsp; &nbsp;client.sin_addr.s_addr = ::inet_addr(ClientIP);</div><div class="code_line">&nbsp;&nbsp; &nbsp;client.sin_port = htons(ClientPort);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;unsigned char packet_data[256];</div><div class="code_line">&nbsp;&nbsp; &nbsp;unsigned int maximum_packet_size = sizeof(packet_data);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;sockaddr_in from;</div><div class="code_line">&nbsp;&nbsp; &nbsp;socklen_t fromLength = sizeof(from);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;for (int i = 0; i &#60; 256; i++) packet_data[i] = 0x00;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;int received_bytes;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;received_bytes = recvfrom(new_handle, (char*)packet_data, maximum_packet_size, 0, (sockaddr*)&amp;from, &amp;fromLength);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;int errR=WSAGetLastError();</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;if (received_bytes &#60;= 0)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Msg.Format(&quot;Failed to get packet: return value = %d errR=%d\n&quot;, received_bytes, errR);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;AfxMessageBox(Msg);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;else</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Msg.Format(&quot;Ой, чёйта? = %d errR=%d\n&quot;, received_bytes, errR);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;AfxMessageBox(Msg);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">}</div></ol></div></div></div></div>]]></description>
        <author>Adry</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      </channel>
      </rss>
	