There are four fundamental operations a socket performs. These are:
Connect to a remote machine
Send data
Receive data
Close the connection
A socket may not be connected to more than one host at a time.
A socket may not reconnect after it's closed.