Java''s growth over the last 10 years has been nothing short of phenomenal. Given Java''s rapid rise to prominence and the even more spectacular growth of the Internet, it''s a little surprising that network programming in Java is still so mysterious to so many. It doesn''t have to be. In fact, writing network programs in Java is quite simple, as this book will show. Readers with previous experience in network programming in a Unix, Windows, or Macintosh environment should be pleasantly surprised at how much easier it is to write equivalent programs in Java. The Java core API includes well-designed interfaces to most network features. Indeed, there is very little application-layer network software you can write in C or C++ that you can''t write more easily in Java. Java Network Programming, 3rd Edition endeavors to show you how to take advantage of Java''s network class library to quickly and easily write programs that accomplish many common networking tasks. Some of these include:
Browsing the Web with HTTP
Parsing and rendering HTML
Sending email with SMTP
Receiving email with POP and IMAP
Writing multithreaded servers
Installing new protocol and content handlers into browsers
Encrypting communications for confidentiality, authentication, and guaranteed message integrity
Designing GUI clients for network services
Posting data to server-side programs
Looking up hosts using DNS
Downloading files with anonymous FTP
Connecting sockets for low-level network communication
Distributing applications across multiple systems with Remote Method Invocation
Java is the first language to provide such a powerful cross-platform network library, which handles all these diverse tasks. Java Network Programming exposes the power and sophistication of this library. This book''s goal is to enable you to start using Java as a platform for serious network programming. To do so, this book provides a general background in network fundamentals, as well as detailed discussions of Java''s facilities for writing network programs. You''ll learn how to write Java programs that share data across the Internet for games, collaboration, software updates, file transfer, and more. You''ll also get a behind-the-scenes look at HTTP, SMTP, TCP/IP, and the other protocols that support the Internet and the Web. When you finish this book, you''ll have the knowledge and the tools to create the next generation of software that takes full advantage of the Internet.