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 adressierbar und werden mit denselben Befehlen angesprochen wie gewöhnliche Dateien. Um zu kommunizieren, öffnen zwei Prozesse denselben 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.
Weblinks
socketpair(2)
: Funktion zum Erzeugen von Paaren miteinander verbundener Sockets – Debian GNU/Linux Systemaufrufe Handbuchseitesendmsg(2)
: Funktion zum Verschicken von Nachrichten über ein Socket – Debian GNU/Linux Systemaufrufe Handbuchseiterecvmsg(2)
: Funktion zum Empfangen von Nachrichten über ein Socket – Debian GNU/Linux Systemaufrufe Handbuchseitecmsg(3)
: Funktion zum Senden/Empfangen/Verwalten von Zusatzinformationen ("ancillary data") – Debian GNU/Linux Bibliotheksaufrufe Handbuchseite- Vergleich zwischen Unix Domain Sockets und Internet Sockets unter FreeBSD, 2005 (Englisch)
- Unix Domain Sockets für Java (Englisch)
- ucspi-unix, Client und Server Implementation von UCSPI über UNIX-Domain-Sockets (englisch)
Literatur
- W. Richard Stevens, Bill Fenner, Andrew M. Rudoff: UNIX Network Programming. The Sockets Networking API. 3. Auflage. Band 1. Addison Wesley, 2004, ISBN 0-13-141155-1, S. 411–433 (englisch).
- W. Richard Stevens, Stephen A. Rago: Advanced Programming in the UNIX Environment. 2. Auflage. Addison Wesley, 2005, ISBN 0-321-52594-9, S. 594–601 (englisch).
- Johannes Plötner, Steffen Wendzel: Linux. Das umfassende Handbuch. 5. Auflage. Galileo, 2012, ISBN 978-3-8362-1822-1 (Inhaltsverzeichnis – 26.6.5 Unix-Domain-Sockets).