

| стрелялки |
| спорт |
| драки |
| стратегии |
| гонки |
| логические |
| азартные |
| аркады |
| эротические |
| фильмы онлайн |
| Интерфейс сокетов |
|
Одной из наиболее популярных сегодня технологий взаимодействия сетевых приложений считаются сокеты (sockets). Появлению сокетов мы в первую очередь обязаны Калифорнийскому университету Беркли и операционной системе UNIX, где идея была впервые применена. В программных продуктах корпорации Microsoft технология претерпела множество доработок и сегодня классифицируется как вторая версия Windows Sockets 2, или сокращенно WinSock. К счастью, в отличие от именованных каналов, сокеты поддерживаются любой ОС Windows, а не только серверами. Еще одно важное преимущество сокетов - обеспечение связи в реальном масштабе времени. С точки зрения терминологии правильно говорить о сокетах как об интерфейсе. Как видно из рис. 23.1, интерфейс WinSock представлен на сеансовом уровне модели OSI. Опора WinSock - протокол транспортного уровня IP (Internet Protocol) и новый протокол Internet Protocol Version 6 (IPv6), впервые появившийся в семействе серверов Microsoft* Windows* Server 2003. Кроме того, интерфейс сокетов поддерживает протоколы сетевого обмена: Xerox Network System (XNS), Digital's DECnet и Novell IPX/SPX. 32-разрядные приложения, работавшие с устаревшим интерфейсом Windows Sockets 1.1, нуждались в библиотеке Wsock32.dll. Все функциональные возможности сокетов второй версии интегрированы в библиотеку WS2_32.dll, которая представляет собой прослойку между прикладным программным интерфейсом пользователя и всеми представителями транспортного уровня. Именно она позаботится о том, чтобы наши команды были поняты и приня- ты к исполнению, поэтому при работе с сокетами про транспортный уровень можно временно забыть. Самое лаконичное описание идеи работы сокетов выглядит примерно так: абоненты технологии WinSock подразделяются на серверы и клиенты. Сразу после создания сервер переходит в режим ожидания связи; в Windows для этого предложен термин прослушивание (listening). Получив просьбу клиента на соединение, сервер устанавливает соединение, в рамках которого осуществляется односторонний или двусторонний обмен данными. |
