Вопрос

В чем разница между доменными сокетами IPC и Unix и именованными каналами?

Я получил расплывчатые определения из разных книг, но не мог понять, какое из них и где следует использовать.

Это было полезно?

Решение

Практически любой способ взаимодействия двух процессов может рассматриваться как форма IPC.

Например:

<Ол>
  • Безымянные каналы (cat file.txt | grep foo) или Именованные каналы
  • доменные сокеты Unix
  • сокеты TCP или UDP
  • Сокеты Netlink в Linux
  • Различные механизмы совместно используемой памяти, например файлы с отображением в памяти
  • Высокоскоростная передача сообщений, например ZeroMQ
  • Другие советы

    Как указано в qrdl, сокеты и именованные каналы UNIX-домена являются механизмами IPC.

    С этими двумя именованными каналами проще работать, но они гораздо менее гибки, чем сокеты домена UNIX. Например, если вы потенциально ожидаете более одного процесса чтения для каждого процесса записи, тогда сокеты UNIX-домена являются обязательными; если вы ожидаете, что процесс чтения остановится и начнется во время выполнения процесса записи, вам понадобятся сокеты UNIX-домена.

    МПК означает Межпроцессные коммуникации.Сокеты домена UNIX и именованные каналы — это всего лишь два механизма IPC, описанные в Википедии:

    Спасибо за внимание к вопросу, несколько обновленных функций:

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

    Именованные каналы идентифицируются по их точке доступа - файлу, который хранится в файловой системе для обработки данных. Именованный канал по умолчанию поддерживает заблокированные операции чтения и записи. Однако можно заставить именованные каналы поддерживать неблокирующие операции, указав флаг O_NONBLOCK при их открытии. Именованный канал должен быть открыт только для чтения или только для записи. Его нельзя открывать для чтения-записи, потому что это полудуплекс, односторонний канал.

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top