This practical guide provides a complete introduction to developing network programs with Java. Youll learn how to use Javas network class library to quickly and easily accomplish common networking tasks such as writing multithreaded servers, encrypting communications, broadcasting to the local network, and posting data to server-side programs.Author Elliotte Rusty Harold provides complete working programs to illustrate the methods and classes he describes. This thoroughly revised fourth edition covers REST, SPDY, asynchronous I/O, and many other recent technologies.Explore protocols that underlie the Internet, such as TCP/IP and UDP/IPLearn how Javas core I/O API handles network input and outputDiscover how the InetAddress class helps Java programs interact with DNSLocate, identify, and download network resources with Javas URI and URL classesDive deep into the HTTP protocol, including REST, HTTP headers, and cookiesWrite servers and network clients, using Javas low-level socket classesManage many connections at the same time with the nonblocking I/O