Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lections (1).doc
Скачиваний:
22
Добавлен:
12.02.2016
Размер:
1.43 Mб
Скачать

11.4 Именное пространство Файла

Этот раздел описывает подробности именного пространства файла, чье символическое имя (требуется, когда Вы создаете сокет) - PF_FILE.

11.4.1 Понятия Именного пространства Файла

В именном пространстве файла, адреса сокетов - имена файлов. Вы можете определять любое желаемое имя файла для адреса сокета.

Одна особенность именного пространства файла – имя используется только при открытии соединения; если только оно было законченно, адрес не значим и может не существовать.

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

После того, как Вы закрываете сокет в именном пространстве файла, Вы должны удалить имя файла из файловой системы. Используйте unlink или remove, чтобы делать это.

Именное пространство файла поддерживает только один протокол для любого типа связи; 0 - номер протокола.

11.4.2 Подробности Именного пространства Файла

Чтобы создавать сокет в именном пространстве файла, используйте константу PF_FILE как аргумент именного пространства для socket или socketpair. Эта константа определена в "sys/socket.h".

int PF_FILE (макрос)

Он обозначает именное пространство файла, в котором адреса сокетов являются именами файлов, и связываются совокупностью протоколов.

int PF_UNIX (макрос)

Это - синоним PF_FILE используемый для совместимости.

Структура для определения имен сокетов в именном пространстве файла определена в заголовочном файле "sys/un.h":

struct sockaddr_un (тип данных)

Эта структура используется, чтобы определить адреса сокета именного пространства файла. Она имеет следующие поля:

short int sun_family

Это поле идентифицирует совокупность адреса или формат адреса сокета. Вы должны сохранить значение AF_FILE, чтобы обозначить именное пространство файла.

char sun_path[108]

Это имя используемого файла.

Незавершенность: Почему - 108? RMS предлагает делать его массивом нулевой длины и использовать alloc, чтобы зарезервировать соответствующее количество памяти, основываясь на длине filename.

Вы должны вычислить параметр длины для адреса сокета в именном пространстве файла как сумму размера компоненты sun_family и длины (не размера резервирования!) строки имени файла.

11.5 Именное пространство Internet

Этот раздел описывает подробности протокола и соглашений именования сокетов, используемые в именном пространстве Internet.

Чтобы создать сокет в именном пространстве Internet, используйте символическое имя PF_INET этого именного пространства как аргумент именного пространства socket или socketpair. Эта макрокоманда определена в "sys/socket.h".

int PF_INET (макрос)

Обозначает именное пространство Internet и связанную совокупность протоколов.

Адрес сокета для именного пространства Internet включает следующие компоненты:

* Адрес машины с которой Вы хотите соединяться. Адреса в Internet могут быть определены разными способами;

* Номер порта для машины.

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

Вступ 1

Модель OSI і набір протоколів Інтернету (Internet.) 2

Мережений рівень керування протоколами ІРv4 і ІРv6 3

Модель протоколу ТСР/ІР 3

Відмінності ОSI і сімейства протоколів ТСР/IP 4

Огляд протоколів TCP IP 5

Протокол передачі датаграм користувача UDP. 7

Формат UDP-повідомлення. 7

Псевдозаголовок користувацьких датаграм 8

Інкапсуляція і розділення на рівні. 8

Мультиплексування та демультиплексування UDP-датаграм за допомогою портів. 9

Зарезервовані і вільні номери портів UDP. 10

Надійна потокова транспортна служба TCP 10

Встановлення і завершення з’єднання TCP. 11

Параметри ТСР 12

Розрив з’єднання ТСР 12

Діаграма станів ТСР 14

Перегляд пакетів 15

Стан TIME_WAIT 16

Порти ТСР 16

Файли – сокети 17

Номер портів ТСР і паралельні сервери 17

Розміри буфера і його обмеження 19

IPv4 19

IPv6 20

Зміни, що відбудуться при переході від IPv4 до IPv6 21

Відправка по UDP 22

Інтерфейс сокета 23

Створення сокету 23

Ф-ція Connect 24

Ф-ція Bind 24

Очікування з’єднання LISTEN 25

Отримання з’єднання ACCEPT 25

Інша інформація 26

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]