Операционные системы. Учебное пособие. Марапулец Ю.В. - 190 стр.

UptoLike

Составители: 

должить другие операции, а затем проверить код завершения функции в очереди
сообщений.);
2. Функции Беркли (Синхронные функции, производящие блокировку интерфейса в
момент своей работы, есть при работе такой функции нельзя выполнять другие
функции WinSock);
3. Информационные функции (получение информации о наименовании доменов,
службах, протоколах Internet).
Существует две версии WinSock
WinSock 1.1 - поддержка только TCP/IP;
WinSock 2.0 - поддержка дополнительного программного обеспечения
Интерфейс Winsock 2 имеет следующие преимущества [12]:
поддерживает различные протоколы;
позволяет создать быстрый программный код, адаптированный к конкретной конфи-
гурации аппаратного обеспечения;
является единственным решением при создании серверных программ, для которых
существенными характеристиками (более важными, чем, скажем, время разработки)
являются быстродействие и производительность;
обеспечивает наилучшую среду для разработки кросс-платформенных программ.
Текущая версия Winsock 2 поддерживает большинство функции, заимствованных
из предыдущих версий, а также содержит несколько функций, оптимизирующих много-
протокольную поддержку. Хотя интерфейс Winsock чаще всего используется с протоко-
лами TCP/IP, он также поддерживает связь посредством гнезд по некоторым другим
протоколам, в том числе IPX, SPX, Banyan VINES и AppleTalk. В этой лекции будет рас-
смотрено только функционирование TCP/IP, однако имейте в виду, что приложения, ра-
ботающие с гнездами, несложно модифицировать для использования других протоко-
лов. Интерфейс Winsock содержит как синхронные, так и асинхронные функции для
выполнения операций с гнездами. Кроме того, в нем имеется несколько функций преоб-
разования данных и просмотра баз данных. Функции интерфейса Winsock2 описаны в
библиотеке ws2_32.dll.
8.3.2. API-функции для работы с сокетами
Список и описание функций, предназначенных для работы с гнездами, приведен в
табл.8.1. Вместе взятые они представляют собой традиционный набор синхронных
функций (функций Беркли).
Таблица 8.1
Функция Описание
1 2
accept Регистрирует подключение к заданному гнезду
AcceptEx Регистрирует новое подключение, возвращает локальный и уда-
ленный адрес, а также первый блок данных, отправленный кли-
ентом
bind Назначает гнезду локальный адрес
closesocket Закрывает гнездо
connect Соединяет гнездо с заданным одноранговым узлом
GetAcceptExSock-
addrs
Анализирует данные, переданные функцией AcceptEx, выделяет
локальный и удаленный адреса, а также первый блок данных,
полученных при соединении
ioctlsocket Читает или устанавливает параметры режима работы гнезда
Окончание табл. 8.1
1 2
192
      должить другие операции, а затем проверить код завершения функции в очереди
      сообщений.);
2.    Функции Беркли (Синхронные функции, производящие блокировку интерфейса в
      момент своей работы, есть при работе такой функции нельзя выполнять другие
      функции WinSock);
3.    Информационные функции (получение информации о наименовании доменов,
      службах, протоколах Internet).
      Существует две версии WinSock
• WinSock 1.1 - поддержка только TCP/IP;
• WinSock 2.0 - поддержка дополнительного программного обеспечения
      Интерфейс Winsock 2 имеет следующие преимущества [12]:
• поддерживает различные протоколы;
• позволяет создать быстрый программный код, адаптированный к конкретной конфи-
    гурации аппаратного обеспечения;
• является единственным решением при создании серверных программ, для которых
    существенными характеристиками (более важными, чем, скажем, время разработки)
    являются быстродействие и производительность;
• обеспечивает наилучшую среду для разработки кросс-платформенных программ.
      Текущая версия Winsock 2 поддерживает большинство функции, заимствованных
из предыдущих версий, а также содержит несколько функций, оптимизирующих много-
протокольную поддержку. Хотя интерфейс Winsock чаще всего используется с протоко-
лами TCP/IP, он также поддерживает связь посредством гнезд по некоторым другим
протоколам, в том числе IPX, SPX, Banyan VINES и AppleTalk. В этой лекции будет рас-
смотрено только функционирование TCP/IP, однако имейте в виду, что приложения, ра-
ботающие с гнездами, несложно модифицировать для использования других протоко-
лов. Интерфейс Winsock содержит как синхронные, так и асинхронные функции для
выполнения операций с гнездами. Кроме того, в нем имеется несколько функций преоб-
разования данных и просмотра баз данных. Функции интерфейса Winsock2 описаны в
библиотеке ws2_32.dll.

     8.3.2. API-функции для работы с сокетами

     Список и описание функций, предназначенных для работы с гнездами, приведен в
табл.8.1. Вместе взятые они представляют собой традиционный набор синхронных
функций (функций Беркли).
                                                                      Таблица 8.1
       Функция                                Описание
              1                                      2
accept                Регистрирует подключение к заданному гнезду
AcceptEx              Регистрирует новое подключение, возвращает локальный и уда-
                      ленный адрес, а также первый блок данных, отправленный кли-
                      ентом
bind                  Назначает гнезду локальный адрес
closesocket           Закрывает гнездо
connect               Соединяет гнездо с заданным одноранговым узлом
GetAcceptExSock-      Анализирует данные, переданные функцией AcceptEx, выделяет
addrs                 локальный и удаленный адреса, а также первый блок данных,
                      полученных при соединении
ioctlsocket           Читает или устанавливает параметры режима работы гнезда
                                                                Окончание табл. 8.1
              1                                      2


                                        192