<?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=436808&amp;view=findpost&amp;p=3893583</guid>
        <pubDate>Thu, 03 Aug 2023 03:07:39 +0000</pubDate>
        <title>Почему вызов ioctlsocket происходит с ошибкой</title>
        <link>https://forum.sources.ru/index.php?showtopic=436808&amp;view=findpost&amp;p=3893583</link>
        <description><![CDATA[core-i7: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=436808&view=findpost&p=3893580'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>izumov &#064; <time class="tag-quote__quoted-time" datetime="2023-08-02T20:52:56+03:00">02.08.23, 17:52</time></span><div class='quote '>как только мне удалось устранить эту ошибку</div></div><br>
А огласить всем &quot;эту ошибку&quot; религия не позволяет что-ли?]]></description>
        <author>core-i7</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=436808&amp;view=findpost&amp;p=3893580</guid>
        <pubDate>Wed, 02 Aug 2023 17:52:56 +0000</pubDate>
        <title>Почему вызов ioctlsocket происходит с ошибкой</title>
        <link>https://forum.sources.ru/index.php?showtopic=436808&amp;view=findpost&amp;p=3893580</link>
        <description><![CDATA[izumov: Ларчик просто открывался.Как только я научился проводить отладку кода в dll. Я увидел что до вызова ioctlsjcket у меня сокет не привязывается к IP адресу<br>вызов то функции привязки bind производился,но он завершался с ошибкой как только мне удалось устранить эту ошибку и сокет был корректно привязан к IP адресу<br>так сразу же и вызов ioctlsocket завершился успешно и сокет был переведен в неразборчивый режим. :victory:]]></description>
        <author>izumov</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=436808&amp;view=findpost&amp;p=3893562</guid>
        <pubDate>Wed, 02 Aug 2023 09:49:35 +0000</pubDate>
        <title>Почему вызов ioctlsocket происходит с ошибкой</title>
        <link>https://forum.sources.ru/index.php?showtopic=436808&amp;view=findpost&amp;p=3893562</link>
        <description><![CDATA[core-i7: В ваших логах нет нужной инфы, а маячит только сокет &quot;Hyper-V RAW&quot;, <br>
который использует системный гипервизор для общения с сетью вирт.машин типа VMware. <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">Элемент поставщика каталога Winsock</div><div class="code_line">------------------------------------</div><div class="code_line">Описание: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Hyper-V RAW</div><div class="code_line">Путь поставщика: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;%SystemRoot%\system32\mswsock.dll</div><div class="code_line">&nbsp;</div><div class="code_line">Версия: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2 &nbsp; &nbsp; ; WinSock v2.0</div><div class="code_line">Тип адреса: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 34 &nbsp; &nbsp;; AF_HYPERV</div><div class="code_line">Наибольшая длина адреса: &nbsp;36 &nbsp; &nbsp;; размер структуры &quot;sockaddr_in&quot;</div><div class="code_line">Тип сокета: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1 &nbsp; &nbsp; ; SOCK_STREAM &nbsp;(tcp)</div><div class="code_line">Протокол: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1 &nbsp; &nbsp; ; HVPROTO_RAW</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
Нужно было прокрутить лог ниже и найти &quot;Описание: TCP/IP RAW&quot;. Если он имеется в списке, то дальше зависит от того, какой адрес вы привязали к сокету - IPv4, или IPv6. Для первого случая размер структуры &quot;sockaddr_in&quot; должен быть 16-байт, а для IPv6 размер = 28-байт. То-есть формат структур у них разный. Судя по сообщению(#9) вы юзаете IРv4. Чекнуть структуру на валидность можно отладочной мессагой: <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">printf(&quot;sockaddr_in size: %d\n&quot;, sizeof.sockaddr_in)</div></ol></div></div></div></div><br>
Другими словами, если поставщик Winsock поддерживает &quot;TCP/IP RAW&quot;, то проблема у вас только с передачей адреса в <strong class='tag-b'>bind()</strong>. Cкиньте сюда весь свой код, я его скомпилирую и проверю на своей Win7 х64.]]></description>
        <author>core-i7</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=436808&amp;view=findpost&amp;p=3893543</guid>
        <pubDate>Wed, 02 Aug 2023 04:45:47 +0000</pubDate>
        <title>Почему вызов ioctlsocket происходит с ошибкой</title>
        <link>https://forum.sources.ru/index.php?showtopic=436808&amp;view=findpost&amp;p=3893543</link>
        <description><![CDATA[izumov: Сделал как вы сказали у меня такой вывод<span class="b-attach" data-size="75937" data-hits="382" data-attach-id="65043" data-attach-post-id="3893543">
			<span class="b-attach__title"></span><a class='b-attach-link' href='https://forum.sources.ru/index.php?act=Attach&amp;type=post&amp;id=3893543&amp;attach_id=65043' title='Скачать файл' target='_blank'>___________Netsh1.jpg</a> (, : 382)
		</span>]]></description>
        <author>izumov</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=436808&amp;view=findpost&amp;p=3893520</guid>
        <pubDate>Tue, 01 Aug 2023 10:37:48 +0000</pubDate>
        <title>Почему вызов ioctlsocket происходит с ошибкой</title>
        <link>https://forum.sources.ru/index.php?showtopic=436808&amp;view=findpost&amp;p=3893520</link>
        <description><![CDATA[core-i7: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=436808&view=findpost&p=3893510'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>izumov &#064; <time class="tag-quote__quoted-time" datetime="2023-08-01T09:28:21+00:00">01.08.23, 09:28</time></span><div class='quote '>а вот перевести сокет в неразборчивый режим что то мешает</div></div><br>
Какая у вас система?<br>
К примеру у меня 64-битная Win7, и RAW-сокет создаётся без проблем <em class='tag-i'>(пишу на ассме)</em>.<br>
Вот лог приёма пакетов..<br>
<br>
<span class="b-attach" data-size="70365" data-hits="434" data-attach-id="65039" data-attach-post-id="0">
			<span class="b-attach__title"></span><a class='b-attach-link' href='https://forum.sources.ru/index.php?act=Attach&amp;type=post&amp;id=0&amp;attach_id=65039' title='Скачать файл' target='_blank'>Shiff.jpg</a> (, : 434)
		</span> <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="2023-08-01T10:47:39+00:00">01.08.23, 10:47</time></span></span><br>
сори, не заметил в первом сообщении.. Win-11.<br>
можно запросить поддержку сырых сокетов провайдером Win - может на уровне системы они убиты?<br>
для этого, в ком.строке вводим &quot;<strong class='tag-b'><span class="tag-color tag-color-named" data-value="purple" style="color: purple">netsh</span></strong>&quot; и передаём утилите запрос &quot;<strong class='tag-b'><span class="tag-color tag-color-named" data-value="purple" style="color: purple">winsock show catalog</span></strong>&quot;<br>
теперь смотрим, имеется или нет с списке поставщик RAW. У меня это выглядит так.. т.е. поддержка осью есть:<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">C:\&#62; netsh</div><div class="code_line">netsh&#62; winsock show catalog</div><div class="code_line">&nbsp;</div><div class="code_line">Элемент поставщика каталога Winsock</div><div class="code_line">------------------------------------</div><div class="code_line">Описание: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MSAFD Tcpip [TCP/IP]</div><div class="code_line">Путь поставщика: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;%SystemRoot%\system32\mswsock.dll</div><div class="code_line">Версия: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2 &nbsp; &nbsp; ; WinSock v2.0</div><div class="code_line">Тип адреса: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2 &nbsp; &nbsp; ; AF_INET</div><div class="code_line">Наибольшая длина адреса: &nbsp;16 &nbsp; &nbsp;; размер структуры &quot;sockaddr_in&quot;</div><div class="code_line">Тип сокета: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1 &nbsp; &nbsp; ; SOCK_STREAM (tcp, потоковый)</div><div class="code_line">Протокол: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 6 &nbsp; &nbsp; ; IPPROTO_TCP</div><div class="code_line">&nbsp;</div><div class="code_line">Элемент поставщика каталога Winsock</div><div class="code_line">------------------------------------</div><div class="code_line">Описание: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MSAFD Tcpip [UDP/IP]</div><div class="code_line">Путь поставщика: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;%SystemRoot%\system32\mswsock.dll</div><div class="code_line">Версия: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2</div><div class="code_line">Тип адреса: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2</div><div class="code_line">Наибольшая длина адреса: &nbsp;16</div><div class="code_line">Тип сокета: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2 &nbsp; &nbsp; ; SOCK_DGRAM (udp, дейтаграммы)</div><div class="code_line">Протокол: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 17 &nbsp; &nbsp;; IPPROTO_UDP</div><div class="code_line">&nbsp;</div><div class="code_line">Элемент поставщика каталога Winsock</div><div class="code_line">------------------------------------</div><div class="code_line">Описание: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MSAFD Tcpip [RAW/IP]</div><div class="code_line">Путь поставщика: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;%SystemRoot%\system32\mswsock.dll</div><div class="code_line">Версия: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2</div><div class="code_line">Тип адреса: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2</div><div class="code_line">Наибольшая длина адреса: &nbsp;16</div><div class="code_line">Тип сокета: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 3 &nbsp; &nbsp; ; SOCK_RAW (сырой)</div><div class="code_line">Протокол: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0 &nbsp; &nbsp; ; IPPROTO_IP</div><div class="code_line">&nbsp;</div><div class="code_line">Элемент поставщика каталога Winsock</div><div class="code_line">------------------------------------</div><div class="code_line">Описание: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MSAFD Tcpip [TCP/IPv6]</div><div class="code_line">Путь поставщика: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;%SystemRoot%\system32\mswsock.dll</div><div class="code_line">Версия: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2</div><div class="code_line">Тип адреса: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 23 &nbsp; &nbsp;; AF_INET6</div><div class="code_line">Наибольшая длина адреса: &nbsp;28 &nbsp; &nbsp;; размер структуры &quot;sockaddr_in&quot;</div><div class="code_line">Тип сокета: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1 &nbsp; &nbsp; ; SOCK_STREAM (tcp, потоковый)</div><div class="code_line">Протокол: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 6 &nbsp; &nbsp; ; IPPROTO_TCP</div><div class="code_line">&nbsp;</div><div class="code_line">Элемент поставщика каталога Winsock</div><div class="code_line">------------------------------------</div><div class="code_line">Описание: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MSAFD Tcpip [UDP/IPv6]</div><div class="code_line">Путь поставщика: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;%SystemRoot%\system32\mswsock.dll</div><div class="code_line">Версия: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2</div><div class="code_line">Тип адреса: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 23</div><div class="code_line">Наибольшая длина адреса: &nbsp;28</div><div class="code_line">Тип сокета: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2</div><div class="code_line">Протокол: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 17</div><div class="code_line">&nbsp;</div><div class="code_line">Элемент поставщика каталога Winsock</div><div class="code_line">------------------------------------</div><div class="code_line">Описание: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MSAFD Tcpip [RAW/IPv6]</div><div class="code_line">Путь поставщика: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;%SystemRoot%\system32\mswsock.dll</div><div class="code_line">Версия: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2</div><div class="code_line">Тип адреса: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 23</div><div class="code_line">Наибольшая длина адреса: &nbsp;28</div><div class="code_line">Тип сокета: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 3</div><div class="code_line">Протокол: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0</div><div class="code_line">&nbsp;</div><div class="code_line">Элемент поставщика каталога Winsock</div><div class="code_line">------------------------------------</div><div class="code_line">Описание: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Поставщик услуг RSVP TCPv6</div><div class="code_line">Путь поставщика: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;%SystemRoot%\system32\mswsock.dll</div><div class="code_line">Версия: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2</div><div class="code_line">Тип адреса: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 23</div><div class="code_line">Наибольшая длина адреса: &nbsp;28</div><div class="code_line">Тип сокета: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1</div><div class="code_line">Протокол: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 6</div><div class="code_line">&nbsp;</div><div class="code_line">Элемент поставщика каталога Winsock</div><div class="code_line">------------------------------------</div><div class="code_line">Описание: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Поставщик услуг RSVP TCP</div><div class="code_line">Путь поставщика: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;%SystemRoot%\system32\mswsock.dll</div><div class="code_line">Версия: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2</div><div class="code_line">Тип адреса: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2</div><div class="code_line">Наибольшая длина адреса: &nbsp;16</div><div class="code_line">Тип сокета: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1</div><div class="code_line">Протокол: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 6</div></ol></div></div></div></div>]]></description>
        <author>core-i7</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=436808&amp;view=findpost&amp;p=3893510</guid>
        <pubDate>Tue, 01 Aug 2023 09:28:21 +0000</pubDate>
        <title>Почему вызов ioctlsocket происходит с ошибкой</title>
        <link>https://forum.sources.ru/index.php?showtopic=436808&amp;view=findpost&amp;p=3893510</link>
        <description><![CDATA[izumov: Так вот параметр SIO_RCVALL и не нравится функции при его замене на FIONBIO функция завершается без ошибки. То есть перевод в неблокирующий режим производится без проблем а вот перевести сокет в неразборчивый режим что то мешает( :wall:]]></description>
        <author>izumov</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=436808&amp;view=findpost&amp;p=3893496</guid>
        <pubDate>Mon, 31 Jul 2023 19:30:35 +0000</pubDate>
        <title>Почему вызов ioctlsocket происходит с ошибкой</title>
        <link>https://forum.sources.ru/index.php?showtopic=436808&amp;view=findpost&amp;p=3893496</link>
        <description><![CDATA[core-i7: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=436808&view=findpost&p=3893489'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>izumov &#064; <time class="tag-quote__quoted-time" datetime="2023-07-31T16:54:29+00:00">31.07.23, 16:54</time></span><div class='quote '>Но я никак не пойму как это относится к моему коду. Какой параметр не нравится функции.</div></div><br>
Да вы вообще неправильно понимаете работу с сокетами..<br>
Последовательность функций должна быть такая:<br>
<br>
1.  <strong class='tag-b'>WSAStartup()</strong> - подключиться к провайдеру MSAFD,<br>
2.  <strong class='tag-b'>gethostname()</strong> - имя нашего узла,<br>
3.  <strong class='tag-b'>gethostbyname()</strong> - наш IP,<br>
4.  Заполняем структуру &quot;sockaddr_in&quot;: addr.sin_addr=наш IP, addr.sin_port=0 (произвольный), addr.sin_family=AF_INET.<br>
5.  sc = <strong class='tag-b'>socket</strong>, AF_INET, SOCK_RAW, IPPROTO_IP - создаём сокет,<br>
6.  sa = <strong class='tag-b'>bind</strong>, sc, &amp;addr, 16 - привязываем к сокету адрес из структуры &quot;addr = sockaddr_in&quot;,<br>
7.  <strong class='tag-b'>ioctlsocket</strong>, sc, SIO_RCVALL, &amp;flag - пробуем вкл. режим Promisc сетевой карты&#33;<br>
8.  <strong class='tag-b'>recv</strong>, sс, &amp;buff, 512, 0 - цикл приёма пакетов..]]></description>
        <author>core-i7</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=436808&amp;view=findpost&amp;p=3893495</guid>
        <pubDate>Mon, 31 Jul 2023 18:31:01 +0000</pubDate>
        <title>Почему вызов ioctlsocket происходит с ошибкой</title>
        <link>https://forum.sources.ru/index.php?showtopic=436808&amp;view=findpost&amp;p=3893495</link>
        <description><![CDATA[Qraizer: <a class='tag-url' href='https://learn.microsoft.com/ru-ru/windows/win32/winsock/sio-rcvall' target='_blank'>https://learn.microsoft.com/ru-ru/windows/w...sock/sio-rcvall</a>]]></description>
        <author>Qraizer</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=436808&amp;view=findpost&amp;p=3893489</guid>
        <pubDate>Mon, 31 Jul 2023 16:54:29 +0000</pubDate>
        <title>Почему вызов ioctlsocket происходит с ошибкой</title>
        <link>https://forum.sources.ru/index.php?showtopic=436808&amp;view=findpost&amp;p=3893489</link>
        <description><![CDATA[izumov: Для полноты картины привожу параметры инициализации сокета , где 5000-порт,adr=&quot;127.0.0.1&quot;-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">MySocket Socket1 = MySocket(AF_INET, SOCK_RAW, 5000, IPPROTO_IP, adr);</div></ol></div></div></div></div><br>
Код ошибки означает <br>
Недействительным аргумент.<br>
Был предоставлен недопустимый аргумент (например, указан недопустимый уровень для функции setsockopt ). В некоторых случаях это также относится к текущему состоянию сокета — например, вызов accept для сокета, который не прослушивается.<br>
<br>
Но я никак не пойму как это относится к моему коду. Какой параметр не нравится функции.]]></description>
        <author>izumov</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=436808&amp;view=findpost&amp;p=3893486</guid>
        <pubDate>Mon, 31 Jul 2023 15:19:27 +0000</pubDate>
        <title>Почему вызов ioctlsocket происходит с ошибкой</title>
        <link>https://forum.sources.ru/index.php?showtopic=436808&amp;view=findpost&amp;p=3893486</link>
        <description><![CDATA[Feldsher: Соме аргумент из инвалид]]></description>
        <author>Feldsher</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=436808&amp;view=findpost&amp;p=3893481</guid>
        <pubDate>Mon, 31 Jul 2023 13:46:52 +0000</pubDate>
        <title>Почему вызов ioctlsocket происходит с ошибкой</title>
        <link>https://forum.sources.ru/index.php?showtopic=436808&amp;view=findpost&amp;p=3893481</link>
        <description><![CDATA[izumov: я немного скоррекировал код<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">if (iResult != NO_ERROR) </div><div class="code_line">&nbsp;&nbsp; &nbsp; {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;printf(&quot;mysocket handler: %ld\n&quot;, long(mysocket));//чтобы убедиться что дескриптор сокета перед вызовом функции действительный</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;printf(&quot;ioctlsocket failed with error: %ld\n&quot;, iResult);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;printf(&quot;Error code: %d\n&quot;,WSAGetLastError() );</div></ol></div></div></div></div><br>
Теперь программа выводит<br>
mysocket handler: 224<br>
ioctlsocket failed with error: -1<br>
Error code: 10022<br>
Что обозначает код ошибки 10022?и где можно посмотреть расшифровку кодов ошибок?]]></description>
        <author>izumov</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=436808&amp;view=findpost&amp;p=3893431</guid>
        <pubDate>Mon, 31 Jul 2023 03:33:08 +0000</pubDate>
        <title>Почему вызов ioctlsocket происходит с ошибкой</title>
        <link>https://forum.sources.ru/index.php?showtopic=436808&amp;view=findpost&amp;p=3893431</link>
        <description><![CDATA[core-i7: 0x98000001	= SIO_RCVALL<br>Включает получение всех сетевых IPv4-пакетов. <br>У сокета должно быть семейство адресов InterNetwork, типом сокета должен быть Raw, а типом протокола должен быть IP. Текущий пользователь должен быть участником группы администраторов, а сокет должен принадлежать определенному порту. Для получения кода ошибки в виде строки сообщения, используйте WSAGetLastError() + FormatMessage().]]></description>
        <author>core-i7</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=436808&amp;view=findpost&amp;p=3893429</guid>
        <pubDate>Sun, 30 Jul 2023 14:54:32 +0000</pubDate>
        <title>Почему вызов ioctlsocket происходит с ошибкой</title>
        <link>https://forum.sources.ru/index.php?showtopic=436808&amp;view=findpost&amp;p=3893429</link>
        <description><![CDATA[izumov: Его инициализация проходит успешно WinSock initialization is OK]]></description>
        <author>izumov</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=436808&amp;view=findpost&amp;p=3893424</guid>
        <pubDate>Sun, 30 Jul 2023 11:39:42 +0000</pubDate>
        <title>Почему вызов ioctlsocket происходит с ошибкой</title>
        <link>https://forum.sources.ru/index.php?showtopic=436808&amp;view=findpost&amp;p=3893424</link>
        <description><![CDATA[Majestio: <span class="tag-font" data-value="Courier" style="font-family:Courier"><span class="tag-color tag-color-named" data-value="blue" style="color: blue">mysocket</span></span> - валидный, до вызова <span class="tag-font" data-value="Courier" style="font-family:Courier"><span class="tag-color tag-color-named" data-value="blue" style="color: blue">ioctlsocket</span></span> проверял его?<br>
<br>
Привел бы здесь весь свой код ...]]></description>
        <author>Majestio</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=436808&amp;view=findpost&amp;p=3893423</guid>
        <pubDate>Sun, 30 Jul 2023 10:39:27 +0000</pubDate>
        <title>Почему вызов ioctlsocket происходит с ошибкой</title>
        <link>https://forum.sources.ru/index.php?showtopic=436808&amp;view=findpost&amp;p=3893423</link>
        <description><![CDATA[izumov: Благодарю за подсказку программа выдала Error code: 0 <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="2023-07-30T11:09:45+00:00">30.07.23, 11:09</time></span></span><br>
Пока не могу найти расшифровку что обозначает Error code: 0<br>
Подскажите если кто знает]]></description>
        <author>izumov</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=436808&amp;view=findpost&amp;p=3893419</guid>
        <pubDate>Sat, 29 Jul 2023 17:47:33 +0000</pubDate>
        <title>Почему вызов ioctlsocket происходит с ошибкой</title>
        <link>https://forum.sources.ru/index.php?showtopic=436808&amp;view=findpost&amp;p=3893419</link>
        <description><![CDATA[Majestio: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=436808&view=findpost&p=3893417'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>izumov &#064; <time class="tag-quote__quoted-time" datetime="2023-07-29T14:51:24+00:00">29.07.23, 14:51</time></span><div class='quote '>Что нужно мне сделать чтобы программа работала корректно?</div></div><br>
 :crazy: <strong class='tag-b'>ChatGPT</strong> рекомендуэ:<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Проблема заключается в значении переменной iResult, которая содержит ошибку при вызове функции ioctlsocket. В данном случае, значение -1 указывает на возникновение ошибки. Чтобы устранить проблему, вам следует выполнить следующие действия:<br>
<ul class="tag-list"><li>Убедитесь, что библиотека &lt;winsock2.h&gt; подключена в вашем коде. Она необходима для работы с сокетами и вызова функции ioctlsocket. Убедитесь также, что вы используете правильные версии библиотеки и компилятора для вашей версии Windows и Студии.</li><li>Проверьте, что переменная mysocket содержит действительный сокет, полученный из предыдущих действий вашей программы. Возможно, ошибка возникает из-за неверного или недействительного сокета.</li><li>Убедитесь, что правильно установлен флаг SIO_RCVALL. В данном случае, значение 0x98000001 должно быть правильным для вашей операционной системы и среды разработки. Если возникнут сомнения, обратитесь к документации по функции ioctlsocket и флагу SIO_RCVALL для проверки правильного значения.</li><li>Проверьте, что у вас достаточные права доступа для работы с сокетами и вызовом функции ioctlsocket. Некоторые операционные системы и настройки безопасности могут потребовать административных привилегий или специальных разрешений для использования сокетов.</li></ul>При вызове функции ioctlsocket в вашем коде возникает ошибка с кодом -1. Для выяснения причины ошибки, рекомендуется проверить значение переменной errno, которая содержит информацию о последней ошибке операционной системы. Вы можете добавить следующий код после вызова ioctlsocket для вывода информации об ошибке:<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">if (iResult != NO_ERROR)</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;printf(&quot;ioctlsocket failed with error: %ld\n&quot;, iResult);</div><div class="code_line">&nbsp;&nbsp; &nbsp;printf(&quot;Error code: %d\n&quot;, errno);</div><div class="code_line">}</div></ol></div></div></div></div><br>
Это позволит вам получить больше информации о причине ошибки. Например, значения WSAEINVAL или WSAEOPNOTSUPP могут указывать на неправильные параметры или несовместимость операции с выбранным сокетом или флагом.<br>
Проверьте значение errno и обратитесь к соответствующей документации или похожим проблемам, чтобы определить, как исправить ошибку и добиться корректной работы вашей программы.<br>
</div></div>]]></description>
        <author>Majestio</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=436808&amp;view=findpost&amp;p=3893417</guid>
        <pubDate>Sat, 29 Jul 2023 14:51:24 +0000</pubDate>
        <title>Почему вызов ioctlsocket происходит с ошибкой</title>
        <link>https://forum.sources.ru/index.php?showtopic=436808&amp;view=findpost&amp;p=3893417</link>
        <description><![CDATA[izumov: Программа выполняется на компьютере под управлением Windows11версии 21H2<br>отладку произвожу в Студии 2022<br>В главной  процедуре<br>u_long flag = 1; <br>#define SIO_RCVALL 0x98000001<br>вызов функции<br>ioctlsocket(mysocket, SIO_RCVALL  , &amp;flag);<br>	if (iResult &#33;= NO_ERROR) <br>	 {<br>		printf(&quot;ioctlsocket failed with error: %ld&#092;n&quot;, iResult);<br>	 };<br>Вызов последней процедуры приводит к выводу сообщения ioctlsocket failed with error: -1<br>В чем проблема? Что нужно мне сделать чтобы программа работала корректно?]]></description>
        <author>izumov</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      </channel>
      </rss>
	