Richard Stevens' UNIX Network Programming books: http://amzn.to/2lmH8hy The 1st volume at least is going through a simple TCP/IP telnet server and enhancing it with features as you go (single connection, multiple connection, forking, multi-threaded server), etc.