Это не официальный сайт wikipedia.org 01.01.2023

Сокет домена Unix — Википедия

Сокет домена Unix

(перенаправлено с «Unix domain socket»)

Сокет домена Unix[1] (англ. Unix domain socket, UDS) или IPC-сокет (сокет межпроцессного взаимодействия) — конечная точка обмена данными, подобная Интернет-сокету, но не использующая сетевого протокола для взаимодействия (обмена данными). Используется в операционных системах, поддерживающих стандарт POSIX, для межпроцессного взаимодействия. Корректным термином стандарта POSIX является POSIX Local IPC Sockets. Подобно TCP-сокетам, эти сокеты поддерживают надёжную потоковую передачу (макрос SOCK_STREAM). Также они могут работать в режимах передачи датаграмм: упорядоченной и надёжной передачи (SOCK_SEQPACKET) или неупорядоченной и ненадёжной (SOCK_DGRAM). Подробное описание Unix сокетов и API содержится в странице man с названием unix из раздела 7.

Доменные соединения Unix являются по сути байтовыми потоками, сильно напоминая сетевые соединения, но при этом все данные остаются внутри одного компьютера (то есть, обмен данными происходит локально). UDS используют файловую систему как адресное пространство имен, то есть они представляются процессами как иноды в файловой системе. Это позволяет двум различным процессам открывать один и тот же сокет для взаимодействия между собой. Однако, непосредственный обмен данными идёт не через файловую систему, а через буферы памяти ядра.

В дополнение к отсылаемым данным процессы могут отсылать файловые дескрипторы через соединение на основе UDS (включая файловые дескрипторы для доменных сокетов), используя системные вызовы sendmsg() и recvmsg(). Это означает, что доменные сокеты могут быть использованы как объектно-возможностная коммуникационная система.

См. такжеПравить

ПримечанияПравить

ЛитератураПравить

  • Войтов, Н. Основы работы с Linux. Учебный курс. — ДМК Пресс, 2010. — С. 38. — 218 p. — ISBN 9785457603905.

Дополнительные источникиПравить