Unix Domain Socket
POSIX local inter-process communication sockets (auch Unix Domain Socket oder IPC Socket) sind Endpunkte von bidirektionalen Kommunikationsverbindungen bei der lokalen Interprozesskommunikation (IPC) unter Unix-Betriebssystemen. Die Kommunikation über diese Sockets ist die im POSIX-Standard standardisierte Methode zur Interprozesskommunikation für Unix-ähnliche Systeme. Entsprechend der Unix-Philosophie („alles ist eine Datei“) sind Sockets über einen Inode im Dateisystem addressierbar und werden mit den selben Befehlen angesprochen wie gewöhnliche Dateien. Um zu kommunizieren öffnen zwei Prozesse den selben Socket. Die Daten fließen als Bytestrom über Pufferspeicher im Speicher des Betriebssystemkerns. Neben Daten können über die Socketverbindungen mit den Systemaufrufen sendmsg() und recvmsg() auch Datei-Handles übertragen werden.
In PHP können (neben Internet-Socket-Verbindungen auch) Unix-Socket-Verbindungen mit der Funktion fsockopen()
geöffnet werden.[1]
Weblinks
- Unix-Domain-Sockets in Linux – Das umfassende Handbuch von Johannes Ploetner und Steffen Wendzel
socketpair(2)
: Befehl zum Erzeugen von Paaren miteinander verbundener Sockets – Debian GNU/Linux Systemaufrufe Handbuchseitesendmsg(2)
: Befehl zum Verschicken von Nachrichten über ein Socket – Debian GNU/Linux Systemaufrufe Handbuchseiterecvmsg(2)
: Befehl zum Empfangen von Nachrichten über ein Socket – Debian GNU/Linux Systemaufrufe Handbuchseitecmsg(3)
: Befehl zum Senden/Empfangen/Verwalten von Zusatzinformationen ("ancillary data") – Debian GNU/Linux Bibliotheksaufrufe Handbuchseite- ucspi-unix, Kommandozeilen-Tools für UNIX-domain Socket Clients und Server (englisch)
- Vergleich zwischen Unix Domain Sockets und Internet Sockets (Englisch)
- Unix Domain Sockets für Java (Englisch)