About network programming
Network programming is the development of applications that can operate over computer networks using TCP/IP, which is the dominant networking protocol. Therefore, without knowing the way TCP/IP and its protocols work, you cannot create network applications and develop TCP/IP servers.
The best two advices that I can give to developers of network applications, are to know the theory behind the task they want to perform and to know that networks fail all the time for several reasons. The nastiest types of network failures have to do with malfunctioning or misconfigured DNS servers, because such problems are challenging to find and difficult to correct.
About TCP/IP
TCP/IP is a family of protocols that help the internet to operate. Its name comes from its two most well-known protocols: TCP and IP.
Every device that uses TCP/IP must have an IP address, which should be unique at least to its local network. It also needs a network mask (used for dividing big IP networks into...