Source: http://www.facom.ufu.br/~faina/BCC_Crs/GSI028-2014-1S/DL/DS-Ch03-SocketsClientServerModel-TutorialsPoint.pdf