Протоколы Internet


Winsock (для UNIX, Windows- и -NT) - часть 29


Субъект (приложение или сервис-провайдер), создавший объект события, ответственен и за его ликвидацию. Сервис-провайдер может это сделать с помощью WPUCloseEvent.

Одной из главных задач сервис-провайдера является сообщение приложению о том, что произошло соответствующее сетевое событие. Список сетевых событий включает в себя:

FD_CONNECT

Канал до удаленной ЭВМ или для мультикастинг-сессии сформирован

FD_ACCEPT

Удаленная ЭВМ выставила запрос на соединение;

FD_READ

Получены данные и их можно считать;

FD_WRITE

В буферах сервис-провайдера появилось свободное место и можно послать очередную порцию информации;

FD_OOB

Для чтения доступна высокоприоритетная информация;

FD_CLOSE

Удаленная ЭВМ закрывает канал;

FD_QOS

Произошло изменение оговоренного значения QOS (качества услуг);

FD_GROOUP_QOS

Произошло изменение оговоренного значения QOS для данной группы соединителей.

Стандартный BSD-интерфейс соединителей имеет только одно средство получить информацию о сетевых событиях - оператор select. Этот метод не может дать информацию о событиях FD_QOS и FD_GROUP_QOS.

В Windows Sockets 1.1 используется асинхронный механизм получения информации о сетевых событиях. Для регистрации интересующих событий можно использовать процедуру WSPAsyncSelect. Когда нужное сетевое событие произойдет, соответствующему окну будет послано сообщение, заданное клиентом. Сервис-провайдер использует для тех же целей процедуру WPUPostMessage. В среде Win32 этот метод получения данных о событиях нельзя считать эффективным.

WSPEventSelect

ведет себя практически также как WSPAsyncSelect за исключением того, что вместо посылки сообщения Windows при сетевом событии типа FD_XXX, устанавливается соответствующий объект события.

Факт прихода сетевого события FD_XXX сервис-провайдером запоминается. Вызов процедуры WSPEnumNetworkEvents вызывает копирование текущего содержимого памяти сетевых событий в буфер клиента, а основная память событий очищается.

Сервис-провайдеры (ISDN или ATM) могут использовать групповые значения QOS при формировании виртуального канала и повышения эффективности своей работы. Пакеты для соединителей в пределах группы мультиплексируются обычным образом.




Начало  Назад  Вперед