Beej's Guide to Network Programming Using Internet Sockets.