Read, write, and select operations can be performed on sockets by using the appropriate subroutines. Sockets can be created in pairs, given names, or used to rendezvous with other sockets in a communication domain, accepting connections from these sockets or exchanging messages with them. Include a socket type and one or more associated processes. Exist within communication domains. Do not require a common ancestor to set up the communication.
Application programs request the operating system to create a socket when one is needed.
The operating system returns an integer that the application program uses to reference the newly created socket. Unlike file descriptors, the operating system can create sockets without binding them to a specific destination address. The application program can choose to supply a destination address each time it uses the socket. Provide access to communications networks such as the Internet. Enable communication between unrelated processes residing locally on a single host computer and residing remotely on multiple host machines.