The networking capabilities of the Java platform have been extended considerably since the first edition of the book. This new edition covers version 1.5-1.7, the most current iterations, as well as making the following improvements:
The API (application programming interface) reference sections in each chapter, which describe the relevant parts of each class, have been replaced with (i) a summary section that lists the classes and methods used in the code, and (ii) a ?gotchas? section that mentions nonobvious or poorly-documented aspects of the objects.
In addition, the book covers several new classes and capabilities introduced in the last few revisions of the Java platform. New abstractions to be covered include NetworkInterface, InterfaceAddress, Inet4/6Address, SocketAddress/InetSocketAddress, Executor, and others; extended access to low-level network information; support for IPv6; more complete access to socket options; and scalable I/O. The example code is also modified to take advantage of new language features such as annotations, enumerations, as well as generics and implicit iterators where appropriate.
Most Internet applications use sockets to implement network communication protocols. This book's focused, tutorial-based approach helps the reader master the tasks and techniques essential to virtually all client-server projects using sockets in Java. Chapter 1 provides a genral overview of networking concepts to allow readers to synchronize the concepts with terminology. Chapter 2 introduces the mechanics of simple clients and servers. Chapter 3 covers basic message construction and parsing. Chapter 4 then deals with techniques used to build more robust clients and servers. Chapter 5 (NEW) introduces the scalable interface facilities which were introduced in Java 1.5, including the buffer and channel abstractions. Chapter 6 discusses the relationship between the programming constructs and the underlying protocol implementations in more detail. Programming concepts are introduced through simple program examples accompanied by line-by-line code commentary that describes the purpose of every part of the program. The book's Web site contains many examples of command-based sockets-related code discussed throughout the book. No other resource presents so concisely or so effectively the material necessary to get up and running with Java sockets programming.
KEY FEATURES
* Focused, tutorial-based instruction in key sockets programming techniques allows reader to quickly come up to speed on Java applications.
* Concise and up-to-date coverage of the most recent platform (1.7) for Java
applications in networking technology
* Provides code for all example programs via a companion Web site to let the reader see the important objects and methods in context and to understand the purpose of each line of code.
Industry Reviews
Keith Edwards, Professor, Georgia Tech-- "In particular, it's definitely time for an update to this book, since so many changes to the Java platform have happened since the first edition. While I don't see the need to update most books every time there's a minor update, this book is definitely overdue for a revision. "I think the book is especially appropriate for mature practitioners and students, who need an easily-accessible and to-the-point overview of the Java networking APIs. To me, one of the strongest points of the book is that it's concise enough to serve as a quick guide and reference to key ?gotchas.? Thus, I think the structure of the book serves audiences who are already good network programmers, or who need a good Java reference, quite well." Robert Brunner, Research Programmer, National Center for Supercomputing Applications (NCSA)-- "I think the book does a good job of hitting this market. It is not suited to be a main textbook for a class, and it does not try to do that, But it does do a nice job of succinctly hitting the major points, providing nice examples, as well as a reference for the major important topics. So I see this as a nice book for developers who want to quickly (and cheaply) master networking Java, as well as a supplemental book for courses in continuing education courses or colleges."