Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 64|Odpowiedź: 0

Gniazdo domeny UNIX (UDS) przez komunikację TCP

[Skopiuj link]
Opublikowano 02.03.2026 14:03:34 | | | |
Wymagania: Załóżmy, że program na serwerze A ma włączone tylko UDS listening – co powinien zrobić serwer B, jeśli chce wywołać program na serwerze A? Możesz użyć UNIX Domain Socket (UDS) przez TCP, aby przekazać proces z serwera A na serwer B.

recenzja
Nginx reverse proxy php-fpm wykorzystuje UDS do komunikacji
https://www.itsvse.com/thread-11068-1-1.html

Nginx reverse proxy ASP.NET Core używają komunikacji UDS
https://www.itsvse.com/thread-11069-1-1.html

Procesy .NET/C# komunikują się między gniazdami domenowymi gRPC a Unix
https://www.itsvse.com/thread-11051-1-1.html

Gniazda domenowe UNIX to mechanizm komunikacji między procesami oparty na ścieżkach plików, a nie na plikach w systemie plików. Nawet przy SFTP lub SSHFS gniazda domeny UNIX nie są dostępne przez sieć.

socat używa gniazd domenowych UNIX

Polecenia instalacyjne:
Uruchom serwer

Po pierwsze, załóżmy, że serwer przetwarza /tmp/example-server.sock nasłuchuje serwera o nazwie "server-program". /tmp/example-server.sock Jeśli możesz połączyć się z tym gniazdem z innego hosta i uzyskać do niego dostęp, możesz powiedzieć, że przewyższyłeś sieć, używając go jako gniazda domenowego UNIX.

Jeśli chcesz tylko przetestować, możesz użyć socatu.
Testowe wywołanie polecenia wygląda następująco:
Jak pokazano poniżej:



Albo połącz się za pomocą polecenia socat, jak pokazano poniżej:



Używaj połączeń TCP

Użyj polecenia socat na hostze, na którym uruchamiany jest proces serwera.
Połącz się z TCP z hosta zdalnego

Nasłuchuje gniazda domenowego UNIX o tej samej nazwie i łączy je z hostem, na którym działa proces serwera.
Użyj klienta na hostze zdalnym

Teraz, gdy wszystko jest gotowe, połączmy się z procesem serwera przez sieć. Jeśli chcesz to też przetestować, możesz użyć socat.

Użyj OpenSSH

Jeśli masz dostęp do SSH, jest łatwiejszy sposób. /tmp/example-server.sock Najpierw uruchom host serwera (pominięty). Użyj -L na hostze klienckim. Polecenie brzmi następująco:
Obecnie jest dostępny z hosta klienta.




Poprzedni:Optymalizacja wydajności front-endu: Rezygnuj z XMLHttpRequest na rzecz interfejsów pobierania
Następny:Krótkie wprowadzenie do sieciowego ICMP (Internet Control Message Protocol).
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com