Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 64|Ответ: 0

UNIX доменный сокет (UDS) через TCP-коммуникацию

[Скопировать ссылку]
Опубликовано 02.03.2026 14:03:34 | | | |
Требования: Предположим, что программа на сервере A включает только прослушивание через UDS, что должен делать сервер B, если он хочет вызвать программу на сервере A? Вы можете использовать UNIX Domain Socket (UDS) через TCP для пересылки процесса с сервера A на сервер B.

обзор
Обратный прокси Nginx php-fpm использует UDS для общения
https://www.itsvse.com/thread-11068-1-1.html

Обратный прокси Nginx ASP.NET Core использует UDS-коммуникацию
https://www.itsvse.com/thread-11069-1-1.html

Процессы .NET/C# взаимодействуют между сокетами доменов gRPC и Unix
https://www.itsvse.com/thread-11051-1-1.html

UNIX-доменные сокеты — это механизм межпроцессной коммуникации, основанный на файловых путях, а не на файлах в файловой системе. Даже с SFTP или SSHFS сокеты UNIX-доменов недоступны по сети.

socat использует сокеты UNIX-домена

Команды установки:
Запусти сервер

Во-первых, допустим, серверный процесс /tmp/example-server.sock прослушивает сервер под названием «server-program». /tmp/example-server.sock Если вы можете подключиться к этому сокету с другого хоста и получить к нему доступ, то можно сказать, что смогли превзойти сеть, используя его как UNIX-доменный сокет.

Если хотите просто протестировать, можно использовать Socat.
Тестовый вызов, команда выглядит следующим образом:
Как показано ниже:



Или подключитесь с помощью команды socat, как показано ниже:



Используйте TCP-соединения

Используйте команду socat на хосте, на котором работает серверный процесс.
Подключитесь к TCP с удалённого хоста

Он прослушивает сокет UNIX-домена с тем же названием и подключает его к хосту, на котором работает серверный процесс.
Используйте клиент на удалёном хосте

Теперь, когда всё готово, давайте подключимся к серверному процессу через сеть. Если хотите попробовать, можете использовать Socat.

Используйте OpenSSH

Если у вас есть доступ к SSH, есть более простой способ. /tmp/example-server.sock Сначала запустите хост сервера (опущено). Используйте -L на клиентском хосте. Команда следующая:
Теперь он доступен от клиентского хоста.




Предыдущий:Оптимизация производительности фронтенда: отказаться от XMLHttpRequest в пользу интерфейсов для извлечения
Следующий:Краткое введение в сетевой ICMP (Internet Control Message Protocol).
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com