This review has bugged me for a while, so thanks for the opportunity to respond.
I know what the reviewer is referring to in PortScanner and LocalPortScanner. Both of those programs effectively grab every available port on a system, which is a very bad idea. That's only done because at this point in the book I haven't yet introduced the close() methods. In both cases, that shows up a few pages later, and I there explain why these first versions of the program are bad, and show how to fix them. I guess the reviewer just didn't read ahead.
Firewalls are only treated in one page because, from the perspective of the application programmer at whom the book is aimed (as opposed to a network administrator) there's just not a lot to say about them. Sun added some new classes representing proxy servers in
Java 1.5, though, so I've expanded the coverage in the latest edition. Ditto for multi-homing.
The rest of it, I'm not sure what to say. The claim that I don't address the role of TTLs in multicasting is just flat out wrong. I'm not sure exactly what his complaints are about "the nature of a socket close operation; what IOException when closing a socket means; what happens when the listen backlog is exceeded; specification of the ServerSocket constructors; Nagle's algorithm (Socket.setTcpNoDelay); linger; keepalive; etc etc." I really wish Amazon provided some way for authors to communicate with reviewers so I could get more details about the problems. I do like to hear from people who find mistakes in my books. Unfortunately an effectively anonymous Amazon review does not really provide enough information to determine if there are real problems or not, and address them if there are.