Статья: Механизмы межпроцессных взаимодействий в операционной системе Unix

protocol - желаемый сетевой протокол

sd - дескриптор программного гнезда

Закрытие (уничтожение) гнезда

close(sd)

Связывание ранее созданного программного гнезда с именем:

bind(sd, socknm, socknlen);

sd - дескриптор ранее созданного программного гнезда

socknm - адрес структуры, которая содержит имя (идентификатор) гнезда, соответствующее требованиям домена данного гнезда и используемого протокола

для домена системы UNIX имя является именем объекта в файловой системе

при создании программного гнезда создается файл

socknlen - длина в байтах структуры socknm

Запрос связи с существующим программным гнездом со стороны процесса-клиента:

connect(sd, socknm, socknlen);

смысл параметров, как у функции bind

имя программного гнезда на другой стороне коммуникационного канала

у гнезда с дескриптором sd и у гнезда с именем socknm должны быть одинаковые домен и протокол

если тип гнезда с дескриптором sd - дейтаграммный, то connect служит для информирования системы об адресе назначения пакетов, которые в дальнейшем будут посылаться с помощью функции send

Информирования о том, что процесс-сервер планирует установление виртуальных соединений через указанное гнездо:

listen(sd, qlength);

qlength - максимальная длина очереди запросов на установление соединения, которые должны буферизоваться системой, пока их не выберет процесс-сервер

Выборка процессом-сервером очередного запроса на установление соединения с указанным программным гнездом служит функция accept:

nsd = accept(sd, address, addrlen);

sd - дескриптор существующего программного гнезда, для которого ранее была выполнена функция listen

address - массив данных, в который должна быть помещена информация, характеризующая имя программного гнезда клиента

addrlen - адрес, по которому находится длина массива address

выполнение функции приводит к установлению виртуального соединения

nsd - новый дескриптор программного гнезда, который должен использоваться при работе через данное соединение

по адресу addrlen помещается реальный размер массива данных, которые записаны по адресу address

Передача и прием данных через программные гнезда с установленным виртуальным соединением:

К-во Просмотров: 362
Бесплатно скачать Статья: Механизмы межпроцессных взаимодействий в операционной системе Unix