Unix ___domain socket

This is an old revision of this page, as edited by 202.71.142.219 (talk) at 08:47, 26 August 2008. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

A Unix ___domain(UDS) or IPC socket (inter-process communication socket) is a virtual socket, similar to an internet socket that is used in POSIX operating systems for inter-process communication. The correct standard POSIX term is POSIX Local IPC Sockets.

These 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 their address name space, i.e. they are viewed by processes as files in a file system. This allows two distinct processes to reference and 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 using the sendmsg() and recvmsg() system calls.