Что такое файлы сокетов?


23

Недавно я начал использовать tmux; Я пытаюсь использовать функцию парного программирования в этом программном обеспечении. Во время процесса был создан файл сокета. Мой вопрос: что такое файлы сокетов, как мне открыть их в Ubuntu и как они используются?

Ответы:


34

Сокеты - это особый тип файлов, аналогичный сокетам TCP / IP, которые обеспечивают межпроцессное взаимодействие, защищенное контролем доступа файловой системы.

Например, когда вы открываете сокет прослушивания в одном терминале с помощью netcat:

nc -lU socket.sock

затем отправьте данные с другого терминала:

echo mytext | nc -U socket.sock

mytext появляется на первом терминале.

По умолчанию nc прекращает прослушивание после символа конца файла.


У меня, кажется, нет опции U с nc, я получил ошибку U, опция не определена. Это socket.sockфайл, который вы создали ранее? Можете ли вы использовать tmux -S и использовать дескриптор файла сокета (tipicaly 3) с одного из концов сокета для отправки данных в этот сокет¿?
августа

@aDoN установить nc.openbsd, у вас есть nc.traditional.
Cuauhtli

18

Сокет домена unix - это двунаправленный канал, похожий на сокет TCP / IP. Сервер прослушивает и принимает соединения от клиентов, а затем может связываться с клиентом по вновь принятому соединению. Что особенного в доменных сокетах unix, так это то, что вместо IP-адреса и номера порта в качестве адреса используется имя файла. Это позволяет другим приложениям, которые ничего не знают о работе сети, получать информацию об открытии файла и чтении или записи, а данные отправляются на сервер, а не на диск.


Какая простая и элегантная идея!
Ионо
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.