Chapter 8, Interprocess communication using UNIX domain sockets
Datagram sockets

Datagram sockets

A datagram socket (type SOCK_DGRAM) supports bidirectional flow of data in the datagram model of the network level protocol. Record boundaries are preserved. Since the transport layer is unreliable, the processes themselves must be responsible for reliability assurance. For example, the receiving process may need to perform resequencing and elimination of duplicates. The datagram socket can be used in applications where reliability of an individual packet is not essential, for example, in broadcasting messages for the purpose of updating a status table.