Definition:
Socket: A network communications channel used by a program to communicate with a remote computer. Sockets are software as opposed to hardware and often look just like files to a programmer, allowing him to use any Input/Output methods he would normally use on files, but over a network. Sockets are different in the fact that you can usually write to and read data from them at the same time.

