Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 64|Отговор: 0

UNIX домейн сокет (UDS) по TCP комуникация

[Копирай линк]
Публикувано в 2.03.2026 г. 14:03:34 | | | |
Изисквания: Да предположим, че програма на сървър А има включено само слушане чрез UDS, какво трябва да направи сървър B, ако иска да извика програма на сървър A? Можете да използвате UNIX Domain Socket (UDS) над TCP, за да препратите процес от сървър А към сървър B.

преглед
Nginx reverse proxy php-fpm използва UDS за комуникация
https://www.itsvse.com/thread-11068-1-1.html

Nginx reverse proxy 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