A Unix ___domain socket or IPC socket (inter-process communication socket) is a data communications endpoint for exchanging data between processes executing within the same host operating system. While similar in functionality to named pipes, Unix ___domain sockets may be created as byte streams or as datagram sequences, while pipes are byte streams only. Processes using Unix ___domain sockets do not need to share a common ancestry. The programmer's application interface (API) for Unix ___domain sockets is similar to that of an Internet socket, but does not use an underlying network protocol for communication. The Unix ___domain socket facility is a standard component of POSIX operating systems.
Unix ___domain sockets use the file system as address name space. They are referenced by processes as inodes in the file system. This allows two processes to open the same socket in order to communicate. However, communication occurs entirely within the operating system kernel.
In addition to sending data, processes may send file descriptors across a Unix ___domain socket connection using the sendmsg()
and recvmsg()
system calls.
See also
External links
- Linux Programmer's Manual – System Calls –
- Linux Programmer's Manual – System Calls –
- Linux Programmer's Manual – System Calls –
- Linux Programmer's Manual – Library Functions –
- ucspi-unix, UNIX-___domain socket client-server command-line tools
- unix ___domain sockets guide
- another unix ___domain sockets guide
- Unix sockets vs Internet sockets
- Unix Domain Sockets for Java
{{International Paralympic Committee}} template missing ID and not present in Wikidata.