<<
>>

Применение интерфейса сетевых вызовов для других семейств протоколов. UNIX Domain протоколы. Файлы типа «сокет»

Рассмотренный нами интерфейс умеет работать не только со стеком протоколов TCP/IP, но и с другими семействами протоколов. При этом требуется лишь незначительное изменение написанных с его помощью программ.
Рассмотрим действия, которые необходимо выполнить для модернизации написанных для TCP/IP программ под другое семейство протоколов:

1. Изменяется тип сокета, поэтому для его точной спецификации нужно задавать другие параметры в системном вызове socket ( ).

2. В различных семействах протоколов применяются различные адресные пространства для удаленных и локальных адресов сокетов. Поэтому меняется состав структуры для хранения полного адреса сокета, название ее типа, наименования полей и способ их заполнения.

3. Описание типов данных и предопределенных констант будет находиться в других include-файлах, поэтому потребуется заменить include-файлы и на файлы, относящиеся к выбранному семейству протоколов.

4. Может измениться способ вычисления фактической длины полного адреса сокета и указания его максимального размера.

И все!!!

Давайте подробнее рассмотрим эти изменения на примере семейства UNIX Domain протоколов. Семейство UNIX Domain протоколов предназначено для общения локальных процессов с использованием интер-

Рис. 14-15.9. Схема работы ТСР-сервера с параллельной обработкой запросов

фейса системных вызовов. Оно содержит один потоковый и один датаграммный протокол. Никакой сетевой интерфейс при этом не используется, а вся передача информации реально происходит через адресное пространство ядра операционной системы. Многие программы, взаимодействующие и с локальными, и с удаленными процессами (например, Х-\ЭДпбо\У8), для локального общения используют этот стек протоколов.

Поскольку общение происходит в рамках одной вычислительной системы, в полном адресе сокета его удаленная часть отсутствует. В качестве

адресного пространства портов — локальной части адреса — выбрано адресное пространство, совпадающее с множеством всех допустимых имен файлов в файловой системе.

При этом в качестве имени сокета требуется задавать имя несуществующего еще файла в директории, к которой у вас есть права доступа как на запись, так и на чтение. При настройке адреса (системный вызов bind "); fgets(sendline, 1000, stdin);

if(sendto(sockfd, sendline, strlen(sendline)+1,

0, (struct sockaddr *) &servaddr,

SUN_LEN(&servaddr)) < 0) /* Изменено вычисление

фактической длины адреса */

{

perror(NULL); close(sockfd); exit (1) ;

}

if((n = recvfrom(sockfd, recvline, 1000, 0,

(struct sockaddr *) NULL, NULL)) < 0){ perror(NULL); close(sockfd); exit (1) ;

}

recvline[n] = 0;

printf("%s", recvline); close(sockfd); return 0;

}

Наберите программы, откомпилируйте их и убедитесь в их работоспособности.

<< | >>
Источник: В.Е. Карпов К.А. Коньков. Основы операционных систем. 2005

Еще по теме Применение интерфейса сетевых вызовов для других семейств протоколов. UNIX Domain протоколы. Файлы типа «сокет»:

  1. В. Г. Олифер, Н. А. Олифер. 54 Компьютерные сети. Принципы, технологии, протоколы: Учебник для вузов. 3-е изд, 2006
  2. § 6. Протокол судебного заседания
  3. Глава 4. Киотский протокол в Украине
  4. Судебные протоколы вообще
  5. Пример обработки протокола.
  6. Базовый протокол устранения проблемы с BSFF
  7. § 2 Историческое значение семейства. – Семейство в Древнем мире и власть начальника. – Гражданская семья в Риме. – Агнаты, когнаты и род. – Первоначально религиозный ха- рактер семьи и последующее видоизменение ее характера. – Свойство кровной семьи германской. – Славянская семья. – Содержание семейственного права.
  8. § 24 Особое значение целого семейства в торгующем купечестве и в бывших податных сословиях. – Финансовое и хозяйственное значение семейного раздела. – Особое значение семейства в отправлении рекрутской повинности. – Семейная община у Индусов.
  9. Необходимо предусмотреть в анкете место и для ответов респондентов на полузакрытые или открытые вопросы, и для любых других высказываний и надписей.
  10. Часть третья Использование кодов для определения типа характера
  11. Часть третья Использование кодов для определения типа характера
  12. Джеф Раскин. Интерфейс: новые направления в проектировании компьютерных систем, 2005
  13. Раскин Джефф. Интерфейс: новые направления в проектировании компьютерных систем, 2005
  14. ДЕЛАТЬ ДЛЯ СЕБЯ - ЗНАЧИТ ДЕЛАТЬ ДЛЯ ДРУГИХ
  15. Упражнение для наблюдения ауры других людей
  16. § 45 Меры к охранению открывшегося наследства. – Опись. – Вызов наследников. – Утверждение в правах наследства. – Срок на явку наследников и вступление явившихся. – Особые правила для торгового сословия.