Just a light description: think of a "socket" as a connector through which we can communicate with another network device. Think of a socket connection as asking to have a "cable" hooked up between two machines. The cable is not actually a real cable but is the network connection external to the computer. The socket doesn't really have to know what the connection is.... it just serves as an "end-point" at each computer through which all communication is performed. You read from a socket to get data in.... you write to a socket to send data out. The socket mechanism handles the addressing and protocol required so that, all you have to do, is read or send data from or to the socket.
SCJP - 86% - June 11, 2009