2016-10-17 35 views
2

Я работаю над проектом, который работает на разных платформах, включая Linux, Solaris, HP-UX & IBM-AIX.Поддерживает ли платформы, такие как Solaris, HP-UX, IBM-AIX и т.д., Unix Domain Socket без необходимости использования файлов сокетов, например Linux?

Когда мы создаем новый сокет с помощью socket(), система создает сокет pathname, а также создает файл в некотором временном каталоге. Я пытаюсь настроить среду, в которой этот файл не создается.

Я нашел решение для Linux. В Linux существует понятие «абстрактное гнездо». Абстрактный адрес сокета выделяется (из сокета pathname) тем, что sun_path [0] является нулевым байтом ('\ 0'). Для получения дополнительной информации, пожалуйста, смотрите страницу руководства - http://man7.org/linux/man-pages/man7/unix.7.html

Я пытаюсь выяснить, подобное решение то есть «файл не должен быть создан для сокета» для других платформ, а именно Solaris, HP-UX & IBM-AIX.

ответ

0

Для AIX я уверен, что нет эквивалента абстрактного сокета. Существует общая память и другие средства связи между процессами.

Для сокета домена unix я считаю, что файловая система обеспечивает защиту/защиту, если это необходимо. например вы можете ограничить путь к определенной группе, а затем файловая система будет следить за тем, чтобы только тот, который использует в этой группе (как в/etc/group), может получить доступ к этому пути.