The only downside of the current edition is that it only fully deals with Java 1.0.2, despite what the back cover says. The current Java network reference to compare the others against.
One of the great beauties of the Java language is the amount of support supplied without having to resort to either language extensions or third party libraries. One is the networking support and it is this that the book covers, albeit only Java 1.0.2. Some details of the 1.1 version (at the timethe book was written) are given. Part of the problem with any Java book is that the language changes quite rapidly. Or is it just another way for publishers to sell more books...
The network programming referred to is both inter-process-communication familiar to many UNIX programmers and Internet programming (applets, etc). No prior knowledge of network programming is assumed, although the author does state that the reader should be familiar with Java programming and use of the AWT. The basic terms are then introduced, along with HHTP, MIME, etc. and any other associated RFCs that may be of use.
Having established the basics, you move quickly into some applications. These are small and, unlike examples often given, of real use! With the examples you quickly appreciate the networking power of Java. For example, to perform a lookup on an Internet address (name or IP) you use the
INetAddressclass. This has methods of
getByNameand
getByAddrjust like the UNIX equivalents. Unlike the UNIX versions you do not need to define the same complex structure to make use of it. The same applies to making a TCP connection. Combine this with built-in exception handling for any errors, e.g. the IP address does not exist etc. and you quickly have a working application that is robust - without lots of your own error (prone) handling. The result? Better code.
The only downside of the current edition is that it only fully deals with Java 1.0.2, despite what the back cover says. The current Java network reference to compare the others against.