Chapter 1. Sockets, IPv4, and Simple Client/Server Programming
In this chapter, we will cover the following recipes:
- Printing your machine's name and IPv4 address
 - Retrieving a remote machine's IP address
 - Converting an IPv4 address to different formats
 - Finding a service name, given the port and protocol
 - Converting integers to and from host to network byte order
 - Setting and getting the default socket timeout
 - Handling socket errors gracefully
 - Modifying a socket's send/receive buffer size
 - Changing a socket to the blocking/non-blocking mode
 - Reusing socket addresses
 - Printing the current time from the internet time server
 - Writing an SNTP client
 - Writing a simple TCP echo client/server application
 - Writing a simple UDP echo client/server application