A Unix ___domain socket or IPC socket (inter-process communication socket) is a data communications endpoint that is similar to an Internet socket, but does not use a network protocol for communication. It is used in POSIX operating systems for inter-process communication. The correct standard POSIX term is POSIX Local IPC Sockets.
Unix ___domain connections appear as byte streams, much like network connections, but all data remains within the local computer. UNIX ___domain sockets use the file system as address name space, i.e. they are referenced by processes as inodes in the file system. This allows two distinct processes to open the same socket in order to communicate. However, the actual communication (the data exchange) does not use the file system, but buffers in kernel memory.
In addition to sending data, processes can send file descriptors across a Unix ___domain socket connection (including file descriptors for ___domain sockets) using the sendmsg() and recvmsg() system calls. This means that ___domain sockets can be used as an object-capability communication system.
See also
External links
- The Single UNIX Specification, Version 5 from The Open Group : create a pair of connected sockets – System Interfaces Reference,
- The Single UNIX Specification, Version 5 from The Open Group : send a message on a socket – System Interfaces Reference,
- The Single UNIX Specification, Version 5 from The Open Group : receive a message from a socket – System Interfaces Reference,
- file descriptors – System Interfaces Reference, The Single UNIX Specification, Version 5 from The Open Group : socket ancillary data, including sending/receiving
- ucspi-unix, UNIX-___domain socket client-server command-line tools
- unix ___domain sockets
- Unix sockets vs Internet sockets
- Unix Domain Sockets for Java
{{International Paralympic Committee}} template missing ID and not present in Wikidata.