Шрифт:
В отличие от потоковых дейтаграммные сокеты, описываемые типом
Дейтаграммные сокеты реализованы в домене
Дейтаграммы полезны для однократных запросов к информационным сервисам, для предоставления обычных сведений о состоянии или для выполнения низкоприоритетной регистрации данных. Их преимущество в том, что остановка сервера не причинит чрезмерных неудобств клиенту и не потребует перезапуска клиента. Поскольку серверы на базе дейтаграмм обычно сохраняют данные без соединения, их можно останавливать и запускать снова, не мешая их клиентам.
На этом мы закончим обсуждение дейтаграмм, дополнительную информацию см. в разд. "Дейтаграммы" в конце данной главы.
Если низкоуровневый механизм передачи данных позволяет применять несколько протоколов, предоставляющих сокет требуемого типа, можно выбрать конкретный протокол или сокет. В этой главе мы сосредоточимся на сокетах сети UNIX и ее файловой системы, которые не требуют от вас выбора протокола, отличного от заданного по умолчанию.
Создание сокета
Системный вызов socket создает сокет и возвращает дескриптор, который может применяться для доступа к сокету:
Созданный сокет — это одна конечная точка линии передачи. Параметр
В табл. 15.1 приведены имена доменов.
Таблица 15.1
Домен | Описание |
---|---|
AF_UNIX | Внутренние для UNIX (сокеты файловой системы) |
AF_INET | Интернет-протоколы ARPA (Advanced Research Projects Agency, управление перспективных исследований и разработок) (сокеты сети UNIX) |
AF_ISO | Протоколы стандарта ISO (International Standards Organization, Международная организация по стандартизации) |
AF_NS | Протоколы сетевых систем Xerox |
AF_IPX | Novell-протокол IPX |
AF_APPLETALK | Appletalk DDS (Appletalk Digital Data Service) |
К наиболее популярным доменам сокетов относятся
Параметр сокета type задает характеристики обмена данными, применяемые для нового сокета. Возможными значениями могут быть
Протокол, применяемый для обмена данными, обычно определяется типом сокета и доменом. Как правило, выбора нет. Параметр