Two processes can separately create sockets and then have messages sent between them. These two processes may reside on the same machine or on separate machines interconnected using a computer network. In Berkeley UNIX 4.3BSD, one can create individual sockets, give them names, and send messages between them. The space from which an address is drawn is referred to as a domain . There are several domains for sockets.
Communication follows some particular style .
Currently, communication is either through a stream or by datagram . Stream communication implies several things. Communication takes place across a connection between two sockets. Before beginning the communication, two processes execute a series of steps to ensure that both are ready to exchange messages. The result of this negotiation is a connection .