<?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=14084&amp;view=findpost&amp;p=180906</guid>
        <pubDate>Sat, 08 Nov 2003 21:37:49 +0000</pubDate>
        <title>Сканер портов</title>
        <link>https://forum.sources.ru/index.php?showtopic=14084&amp;view=findpost&amp;p=180906</link>
        <description><![CDATA[Guest___: <!--QuoteBegin-Clane+7.11.03, 19:28--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (Clane @ 7.11.03, 19:28)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> Написал простой сканер портов с использованием сокетов. У меня возник вопрос : как реализовать многопоточность ? Заранее спасибо за ответ. <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd--><br> Для многоточности там есть Обьект Thread, добовляй его в программу, у него есть свойства<br>типа создать поток закрыть.<br> щас не поню точно, найду вобщем линку где я это взял скажу &#33; ]]></description>
        <author>Guest___</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=14084&amp;view=findpost&amp;p=120361</guid>
        <pubDate>Fri, 07 Nov 2003 18:07:24 +0000</pubDate>
        <title>Сканер портов</title>
        <link>https://forum.sources.ru/index.php?showtopic=14084&amp;view=findpost&amp;p=120361</link>
        <description><![CDATA[rcz:  Неблокирующий - асинхронный.<br>Delphi не знаю, но на С это пиримерно так (WinAPI).<br><br>Для простейшего сканирование коннектами.<br><!--c1--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>CODE</b> </td></tr><tr><td id='CODE'><!--ec1--><br>WSAEVENT evts&#91;N&#93;;<br>SOCKET s&#91;N&#93;;<br><br>for&#40;int i=0;i&#60;N;i++&#41;{<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;s&#91;i&#93;=socket&#40;AF_INET,SOCK_STREAM,0&#41;;<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;evts&#91;i&#93;=WSACreateEvent&#40;&#41;;<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;WSAEventSelect&#40;s&#91;i&#93;,evts&#91;i&#93;,FD_CONNECT&#41;; //сканирование коннектами.<br>&#41;;<br><br>for&#40;int i=0;i&#60;N;i++&#41;{<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; connect&#40;s&#91;i&#93;,addr&#91;i&#93;,sizeof&#40;addr&#91;i&#93;&#41;;<br>}<br><br>while&#40;&#33;finish&#41;{	<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;DWORD rtval=WSAWaitForMultipleEvents&#40;N,evts,false,TIME_OUT,flase&#41;;<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if&#40;rtval==WSA_WAIT_TIMEOUT&#41; /* никаких коннектов нет*/...<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;else{<br>                       int index=rtval-WSA_WAIT_EVENT_0;<br>                      //изменение адреса этого сокета. И новый запрос.<br>                      WSAResetEvent&#40;evts&#91;index&#93;&#41;;<br>                      closesocket&#40;s&#91;index&#93;&#41;;<br>                      s&#91;index&#93;=socket&#40;AF_INET,SOCK_STREAM,0&#41;;<br>                      WSAEventSelect&#40;s&#91;index&#93;,evts&#91;index&#93;,FD_CONNECT&#41;; <br>                      connect&#40;s&#91;i&#93;,newaddr,sizeof&#40;newaddr&#41;&#41;;//берем новый адрес <br>	}<br><br>}<br><br>for&#40;int i=0;i&#60;N;i++&#41;WSACloseEvent&#40;evts&#91;i&#93;&#41;;<br><!--c2--></td></tr></table><div class='postcolor'><!--ec2--><br>Для других способов сканирования можно использовать WSAOVERLAPPED.<br>З.Ы. код не тестировал. ]]></description>
        <author>rcz</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=14084&amp;view=findpost&amp;p=120297</guid>
        <pubDate>Fri, 07 Nov 2003 16:44:19 +0000</pubDate>
        <title>Сканер портов</title>
        <link>https://forum.sources.ru/index.php?showtopic=14084&amp;view=findpost&amp;p=120297</link>
        <description><![CDATA[Clane:  <!--QuoteBegin-rcz+7.11.03, 16:37--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (rcz &#064; 7.11.03, 16:37)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> IMHO лучше использовать не несколько потоков, а несколько неблокирующих сокетов. <!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd--><br>А можно по-подробнее ? Что ты имеешь ввиду под небл. сокетом ? Асинхронный и синхронный методы работы ? ]]></description>
        <author>Clane</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=14084&amp;view=findpost&amp;p=120045</guid>
        <pubDate>Fri, 07 Nov 2003 16:37:18 +0000</pubDate>
        <title>Сканер портов</title>
        <link>https://forum.sources.ru/index.php?showtopic=14084&amp;view=findpost&amp;p=120045</link>
        <description><![CDATA[rcz:  IMHO лучше использовать не несколько потоков, а несколько неблокирующих сокетов. ]]></description>
        <author>rcz</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=14084&amp;view=findpost&amp;p=119770</guid>
        <pubDate>Fri, 07 Nov 2003 16:28:26 +0000</pubDate>
        <title>Сканер портов</title>
        <link>https://forum.sources.ru/index.php?showtopic=14084&amp;view=findpost&amp;p=119770</link>
        <description><![CDATA[Clane:  Написал простой сканер портов с использованием сокетов. У меня возник вопрос : как реализовать многопоточность ? Заранее спасибо за ответ. ]]></description>
        <author>Clane</author>
        <category>Delphi: Сетевое программирование</category>
      </item>
	
      </channel>
      </rss>
	