A Unix domain socket or IPC socket (inter-procedure call socket) is a virtual socket, similar to an internet socket that is used in POSIXoperating systems for inter-process communication. The correct standard POSIX term is POSIX Local IPC Sockets. It has been suggested that Ip socket be merged into this article or section. ... To meet Wikipedias quality standards, this article or section may require cleanup. ... To meet Wikipedias quality standards, this article or section may require cleanup. ... The expression Inter-process communication (IPC) describes the exchange of data between one process and another, either within the same computer or over a network. ...
These connections appear as a byte stream network connection but go from the local computer to itself. A byte stream is an abstraction used in computer science to describe a particular kind of communication channel between two entities. ...
In addition to sending data, processes can send file descriptors across a Unix domain socket connection using the sendmsg() and recvmsg() system calls. The term file descriptor is generally used in POSIX operating systems. ...
With IPsockets, the ability to connect to your daemon is exposed off the current system, so additional steps may have to be taken for security.
With UNIXdomainsockets, you can actually retrieve the credential of the process that created the remote socket, and use that for access control also, which can be quite convenient on multi-user systems.
Right now, the UNIXdomainsocket code is covered by a subsystem lock; I have a version that used more fine-grain locking, but have not yet evaluated the performance impact of those changes.