<?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=164334&amp;view=findpost&amp;p=1388012</guid>
        <pubDate>Sat, 23 Dec 2006 10:25:41 +0000</pubDate>
        <title>WinSocket</title>
        <link>https://forum.sources.ru/index.php?showtopic=164334&amp;view=findpost&amp;p=1388012</link>
        <description><![CDATA[darovec: сенки... щас почитаю&#33;&#33;&#33;&#33;]]></description>
        <author>darovec</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=164334&amp;view=findpost&amp;p=1387974</guid>
        <pubDate>Sat, 23 Dec 2006 09:27:52 +0000</pubDate>
        <title>WinSocket</title>
        <link>https://forum.sources.ru/index.php?showtopic=164334&amp;view=findpost&amp;p=1387974</link>
        <description><![CDATA[bullet: А вот сдесь есть классный пример и практически готовый клиент сервер на mfc <br><br>http://sources.ru/cpp/cpp_tcpclser.shtml<br><br>Может поможет разобраться???]]></description>
        <author>bullet</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=164334&amp;view=findpost&amp;p=1387955</guid>
        <pubDate>Sat, 23 Dec 2006 08:54:35 +0000</pubDate>
        <title>WinSocket</title>
        <link>https://forum.sources.ru/index.php?showtopic=164334&amp;view=findpost&amp;p=1387955</link>
        <description><![CDATA[darovec: блин... чет у меня ничего не получается) походу повышеная криворукость :D]]></description>
        <author>darovec</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=164334&amp;view=findpost&amp;p=1373342</guid>
        <pubDate>Mon, 11 Dec 2006 14:54:42 +0000</pubDate>
        <title>WinSocket</title>
        <link>https://forum.sources.ru/index.php?showtopic=164334&amp;view=findpost&amp;p=1373342</link>
        <description><![CDATA[HighMan: [quote=darovec[/quote]<br>
Если писать чат, то удобнее делать все таки как много клиентов -&gt; сервер. Тогда можно использовать TCP. Кроме того, на сервере можно хранить лог чата, если это нужно, да и вообще подвесить к этому делу можно море разных полезных приблуд.]]></description>
        <author>HighMan</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=164334&amp;view=findpost&amp;p=1372999</guid>
        <pubDate>Mon, 11 Dec 2006 10:59:47 +0000</pubDate>
        <title>WinSocket</title>
        <link>https://forum.sources.ru/index.php?showtopic=164334&amp;view=findpost&amp;p=1372999</link>
        <description><![CDATA[darovec: о... как раз с lib у меня бока были... сенк&#33;]]></description>
        <author>darovec</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=164334&amp;view=findpost&amp;p=1372981</guid>
        <pubDate>Mon, 11 Dec 2006 10:48:54 +0000</pubDate>
        <title>WinSocket</title>
        <link>https://forum.sources.ru/index.php?showtopic=164334&amp;view=findpost&amp;p=1372981</link>
        <description><![CDATA[MAXvalL: #include &lt;winsock2.h&gt;<br>#pragma comment(lib,&quot;WS2_32.lib&quot;)<br><br>для любой проги с сокетами&#33;]]></description>
        <author>MAXvalL</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=164334&amp;view=findpost&amp;p=1372805</guid>
        <pubDate>Mon, 11 Dec 2006 08:30:47 +0000</pubDate>
        <title>WinSocket</title>
        <link>https://forum.sources.ru/index.php?showtopic=164334&amp;view=findpost&amp;p=1372805</link>
        <description><![CDATA[darovec: большое при большое спасио, осталось получше в этом разобраться&#33; а как поступить в примере не клиент-сервер??? <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="2006-12-11T08:50:18+00:00">11.12.06, 08:50</time></span></span><br>
<strong class='tag-b'>nrav</strong> еще вопрос, а какие при этом библиотеки подключать надо???]]></description>
        <author>darovec</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=164334&amp;view=findpost&amp;p=1372597</guid>
        <pubDate>Mon, 11 Dec 2006 01:30:42 +0000</pubDate>
        <title>WinSocket</title>
        <link>https://forum.sources.ru/index.php?showtopic=164334&amp;view=findpost&amp;p=1372597</link>
        <description><![CDATA[nrav: Сторона клиента. <br>Первое действие, которое необходимо совершить клиенту, это инициализировать сервис Winsock. Это можно выполнить при помощи функции: <br><br><br>WSADATA WSAData; <br>WSAStartup (MAKEWORD(1,1), &amp;WSAData);<br><br>Если интерфейс подключен, следующим шагом является создание сокета, для чего необходимо выполнить функцию socket: <br><br><br>SOCKET socket( int af, int type, int protokol ); <br>где af – идентификатор спецификации; <br>type – тип нового сокета, который может принимать два значения – SOCK_STREAM и SOCK_DGRAM, определяя спецификация какого из протоколов (TCP или UDP) будет использоваться; <br>protokol – задает тип протокола. <br><br>Результатом функции является созданный объект типа SOCKET. Следующий пример демонстрирует оформление вызова данной функции: <br><br>SOCKET MySock = INVALID_SOCKET; // Socket bound to the server<br>MySock = socket (AF_INET, SOCK_STREAM, 0);<br><br>Созданный сокет - клиент должен установить связь с сокетом - сервером. Для этого существует специальная функция connect: <br><br>int connect ( SOCKET s, const struct sockaddr * name, int namelen ); <br><br>где s – несвязанный ранее сокет, <br>name - имя сокета, к которому осуществляется подключение; <br>namelen - размер имени сокета во втором параметре функции; <br>Для созданного ранее сокета вызов функции выглядит следующим образом: <br><br>SOCKADDR_IN sAdr;<br>pHost=gethostbyname(&quot;localhost&quot;);<br>memcpy ((char FAR *)&amp;(sAdr.sin_addr),pHost-&gt;h_addr,pHost-&gt;h_length);<br>sAdr.sin_port = htons(1050);<br>sAdr.sin_family  = AF_INET;<br><br>connect((unsigned int)MySock, (PSOCKADDR) &amp;sAdr, sizeof (sAdr));<br><br>Посылать данные:<br>int send ( SOCKET s, const char * buf, int len, int flags ); <br><br>Принимать данные:<br>int recv (SOCKET s,char * buf, intlen, int flags); <br><br><br>где s – сокет, подключенный к серверу; <br>buf - буфер обмена данными (в случае первой функции данные из буфера передаются сокету, во втором – из сокета копируются в буфер); <br>len - размер буфера; <br>flags - всегда установлен в 0. <br><br><br>Сторона сервера.<br>Первые шаги программы - сервера аналогичны клиенту. Проходит активизация интерфейса при помощи функции WSAStartup, после чего создается &quot;сокет – сервер&quot; (функция socket). Его назначение – прослушивать сеть в поисках клиентов, которые захотят общаться с сервером. &quot;Сокет-сервер&quot; ассоциируется с конкретным адресом, для чего используется функция bind: <br><br>SOCKADDR_IN sAdr;<br>PHOSTENT pHost;<br><br>pHost=gethostbyname(&quot;localhost&quot;);<br>memcpy ((char FAR *)&amp;(sAdr.sin_addr),pHost-&gt;h_addr,pHost-&gt;h_length);<br>sAdr.sin_port = htons(1050);<br>sAdr.sin_family  = AF_INET;<br><br>bind (ServerSock,(PSOCKADDR) &amp;sAdr,sizeof(sAdr);<br><br>После выполнения этого шага, сокет необходимо перевести в режим &quot;прослушивания&quot;. Находясь в данном режиме, сокет перехватывает все обращения к нему (для чего и был задан адрес и номер порта) от других сокетов - клиентов, - которые находятся на этом же либо другом компьютере и выполняют функцию connect. Перевод в режим прослушивания осуществляется функцией listen. <br><br>int listen( SOCKET s, int backlog); <br><br>На сокете в режиме прослушивания образуется очередь запросов от сокетов –клиентов. Для того, чтобы установить связь, необходимо в программе – сервере создать еще один сокет для установления связи с одним из клиентов. Данный сокет создается на основе запроса, хранимого в &quot;сокете - сервере&quot;. Для этих целей служит функция accept. <br><br>SOCKADDR cAdr;<br>int size1=sizeof(cAdr);<br>SOCKET accept(SOCKET s, struct sockaddr * addr, int * addrlen); <br><br>где s – сокет в режиме прослушивания; <br>addr и addrlen- являются выходными параметрами функции, в которые соответственно записывается адрес и длина адреса сокета, который послал запрос на соединение. <br>на этой строчке компилятор останавливается и ждет пока к нему не подконнектиться клиент, так что помещай в отдельный поток<br><br>после завершения - int closesocket( SOCKET s);<br><br><br>удачи...]]></description>
        <author>nrav</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=164334&amp;view=findpost&amp;p=1372590</guid>
        <pubDate>Mon, 11 Dec 2006 00:40:43 +0000</pubDate>
        <title>WinSocket</title>
        <link>https://forum.sources.ru/index.php?showtopic=164334&amp;view=findpost&amp;p=1372590</link>
        <description><![CDATA[darovec: вообщем я хочу научиться работатьь с сокетами. вообщем у меня задание написать чат. хочу использовать UDP протокол. пытался разобраться по этому мануалу <a class='tag-url' href='http://www.firststeps.ru/mfc/net/socket/r.php?1' target='_blank'>man</a>, делаю все как написано, разорался в принципе работы, но ничего не получается. в примере я так понимаю используется VC7 или ниже, в VC8 не раотает.воть&#33;]]></description>
        <author>darovec</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=164334&amp;view=findpost&amp;p=1372520</guid>
        <pubDate>Sun, 10 Dec 2006 21:44:24 +0000</pubDate>
        <title>WinSocket</title>
        <link>https://forum.sources.ru/index.php?showtopic=164334&amp;view=findpost&amp;p=1372520</link>
        <description><![CDATA[UncleBob: Еще раз по порядку, что именно и куда подключить... Какой тип проекта, с эмэфцэ или нет и так далее, с подробностями.]]></description>
        <author>UncleBob</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=164334&amp;view=findpost&amp;p=1372395</guid>
        <pubDate>Sun, 10 Dec 2006 18:48:32 +0000</pubDate>
        <title>WinSocket</title>
        <link>https://forum.sources.ru/index.php?showtopic=164334&amp;view=findpost&amp;p=1372395</link>
        <description><![CDATA[darovec: как в VS2005 подключить socket. делал все по манам и ничего не получается. а мне очень надо.... я уже не знаю как быть&#33;&#33;помогите плз...]]></description>
        <author>darovec</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      </channel>
      </rss>
	