Sockets provide an interface into the kernel’s networking protocols by allowing programmers to create a communication endpoint in the form of a file descriptor, and by binding a name to the file ...