Conceptually, the socket approach to program communication is straightforward. One program, the server, sets up a socket on a particular computer:
Server program *---------------------* | | Socket | *-- | | | *-- | Statements in here | | create and name a | | socket | *---------------------*