Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 64|Antwoord: 0

UNIX Domain Socket (UDS) over TCP-communicatie

[Link kopiëren]
Geplaatst op 02-03-2026 14:03:34 | | | |
Vereisten: Stel dat een programma op server A alleen UDS-luisteren heeft ingeschakeld, wat moet server B dan doen als het een programma op server A wil aanroepen? Je kunt UNIX Domain Socket (UDS) via TCP gebruiken om een proces van server A naar server B door te sturen.

recensie
De Nginx reverse proxy php-fpm gebruikt UDS om te communiceren
https://www.itsvse.com/thread-11068-1-1.html

Nginx reverse proxy ASP.NET Core gebruiken UDS-communicatie
https://www.itsvse.com/thread-11069-1-1.html

.NET/C#-processen communiceren tussen gRPC- en Unix-domeinsockets
https://www.itsvse.com/thread-11051-1-1.html

UNIX-domeinsockets zijn een mechanisme voor interprocescommunicatie gebaseerd op bestandspaden, in plaats van bestanden op het bestandssysteem. Zelfs met SFTP of SSHFS kunnen UNIX-domeinsockets niet via het netwerk worden benaderd.

socat gebruikt UNIX-domeinsockets

Installatiecommando's:
Start de server

Stel eerst dat een server /tmp/example-server.sock luistert naar een server genaamd "server-program". /tmp/example-server.sock Als je vanaf een andere host verbinding kunt maken met deze socket en toegang hebt, kun je zeggen dat je het netwerk hebt kunnen overtreffen door het als een UNIX-domeinsocket te gebruiken.

Als je het gewoon wilt testen, kun je Socat gebruiken.
Testoproep, het commando is als volgt:
Zoals hieronder getoond:



Of verbind met het socat-commando, zoals hieronder weergegeven:



Gebruik TCP-verbindingen

Gebruik het socat-commando op de host waarop het serverproces draait.
Maak verbinding met TCP vanaf de externe host

Het luistert naar de UNIX-domeinsocket met dezelfde naam en verbindt deze met de host waarop het serverproces draait.
Gebruik de client op de externe host

Nu alles klaar is, laten we via het netwerk verbinding maken met de server. Als je het ook wilt testen, kun je Socat gebruiken.

Gebruik OpenSSH

Als je SSH-toegang hebt, is er een makkelijkere manier. /tmp/example-server.sock Start eerst de serverhost (weggelaten). Gebruik -L op de clienthost. Het commando is als volgt:
Het is nu toegankelijk vanaf de clienthost.




Vorig:Front-end prestatieoptimalisatie: Gooi XMLHttpRequest af ten gunste van fetch-interfaces
Volgend:Een korte introductie tot netwerk-ICMP (Internet Control Message Protocol).
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com