Различия между доменными сокетами Unix и сетевыми сокетами?

Я прав, что

  • Какие аспекты Плана 9 попали в Unix?
  • «Linux поддерживает динамическую загрузку модулей ядра. »
  • Используется ли Unix бухгалтерами и другими не-программистами в AT & T в 70-х и 80-х годах?
  • Является ли подкаталог / tmp подходящим местом для сокетов Unix?
  • Вот система V; как насчет систем I-IV?
  • Как запустить Unix?
  • Почему unix не может быть объектно ориентированным или, по крайней мере, организованным
  • Являются файлами UNIX для интернет-сокетов?
  • One Solution collect form web for “Различия между доменными сокетами Unix и сетевыми сокетами?”

    Вы смешиваете две вещи здесь.

    Сокет – это дескриптор файла – дескриптор – заданный программе, так что он может использовать сетевое соединение почти так же, как использует файлы. API сокета не зависит от протокола; сокеты могут быть созданы для соединений IPv4 или IPv6, но (с поддержкой ядра) также для таких вещей, как DECnet, AppleTalk или для чтения Ethernet.

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

    При использовании сокетов домена UNIX оба процесса по-прежнему содержат сокет, по одному для каждой стороны соединения. Использование сокета ничем не отличается от, скажем, сокетов IPv4, кроме начальной настройки соединения.

    Одна вещь, с которой API-интерфейс сокетов не может обойтись, – это адрес; невозможно создать сокет, не передавая ему адрес для разговора, и это не отличается для сокета домена UNIX. Так как это UNIX, где все файлы в любом случае, было решено сделать эти адреса похожими на имена файлов. И поскольку мы уже это делаем, имеет смысл сделать эти адреса в файловой системе, так как это позволяет легко их обнаружить.

    К сожалению, имя, данное этим файлам в файловой системе, также было «UNIX-доменным сокетом» (или, по крайней мере, это то, что люди начали называть их). Однако они не являются фактическими сокетами в смысле API сокета; они не могут быть, поскольку это всего лишь число. Таким образом, их аналог в сокете IPv4 – это не тот номер, а вместо этого IP-адрес и номер порта партнера, с которым вы разговариваете.

    Иногда я добавлю, что, поскольку API сокета не касается напрямую файлов, эти представления файловой системы не являются строго необходимыми. В самом деле, Linux имеет концепцию «анонимных сокетов домена UNIX», которые являются именно такими: сокеты домена UNIX без какой-либо ссылки в файловой системе …

    Interesting Posts

    Беспроводная USB-карта не обнаружена на Kali (armel), работающем на Android

    Как скрывать данные входа, переданные командам командной строки из списка процессов?

    Загрузка EFI в Linux на MacBook Pro

    Удалить символ из столбца CSV

    Fedora 15: что-то странное происходит с yum

    Является ли сумасшедшая структура разделов в Fedora 15 действительно актуальной?

    Разделение переменной bash

    Как написать скрипт crontab, который будет проверять статус процесса и запускать его, если он не работает?

    GFP-маска 0x200da на 64-битной системе?

    Как установить беспроводной драйвер в Fedora 15?

    Является ли «/ etc / issue» распространенным для всех дистрибутивов Linux?

    udisksctl монтирует другой подвыбор уже установленного раздела btrfs

    Рефакторинг для поиска цикла для использования exec

    Manjaro-i3: изменить значение по умолчанию для открытия в качестве терминала?

    Навигация по истории в режиме Vi оболочки Bash

    Linux и Unix - лучшая ОС в мире.