Java Network Programming, Second Edition By Elliotte Rusty Harold Following are the changes made in the 12/00 reprint. Here's a key to the markup: [page-number]: serious technical mistake {page-number}: minor technical mistake : important language/formatting problem (page-number): language change or minor formatting problem ?page-number?: reader question or request for clarification (xvii) In Figure P-1, the box between Chapter 15 and Chapter 17 now reads: Chapter 16, Protocol Handlers [xxi] At the very bottom of the page the URL for the O'Reilly web site is has been changed to: http://www.oreilly.com/catalog/9781565928701/ The "o" was missing in oreilly. (20) In the contents box at the top of page 20: "The Layers of a Netowrk" now reads: "The Layers of a Network." (51) The last sentence on the page now reads, "Although there's some hierarchy to the newsgroup names indicated by the . between netscape and netscape.devs-java, it's not visible as part of the URI." That is, the period after "between netscape" has been removed. (60) In the first line of the first paragraph, "(HTT 1.0)" now reads "(HTTP 1.0)". (69) The last sentence in the first paragraph now reads, "Furthermore, the client side interface to servlets is almost exactly like the client side interface to CGI programs, so what we say about talking to CGI programs will apply equally to talking to servlets." (99) The first complete sentence on this page now reads, "The sender can calculate the digest as it sends data, while the receiver calculates the digest as it receives data." (99) In line 7, "Alternativly" now reads "Alternatively". (101) The first sentence of the Readers and Writers section now reads: "Most programmers have a bad habit of writing code as if all text were ASCII, or at the least in the native encoding of the platform." (121) A period was missing between the third and fourth sentences of the last paragraph. It now reads: Most of the time, however, you'll want to pass the information to other parts of the program. You can store the result of the calculation in a field and provide a getter method to return the value of that field. [151] All three versions of the join() method including the noargs variant can throw an InterruptedException. Thus the first method signature on the page now reads: public final void join() throws InterruptedException (159) In line 6 of the first paragraph of the Thread Pools section, "for a even a low-" now reads "for even a low". [189] In the processLogFile() method in Example 6-11, PooledWeblog, bin.readLine() now reads in.readLine(). [307] The first code fragment now reads: try { InetAddress OReilly = InetAddress.getByName("www.oreilly.com"); Socket OReillySocket = new Socket(OReilly, 80); // send and receive data... } catch (UnknownHostException e) { System.err.println(e); } catch (IOException e) { System.err.println(e); } [308] The code fragment at the bottom of the page now reads: try { InetAddress fddi = InetAddress.getByName("fddisunsite.oit.unc.edu"); Socket OReillySocket = new Socket("www.oreilly.com", 80, fddi, 0); // work with the sockets... } catch (UnknownHostException e) { System.err.println(e); } catch (IOException e) { System.err.println(e); } [309] The code fragment toward the bottom of the page now reads: try { InetAddress metalab = InetAddress.getByName("metalab.unc.edu"); InetAddress oreilly = InetAddress.getByName("www.oreilly.com"); Socket oreillySocket = new Socket(oreilly, 80, metalab, 0); } catch (UnknownHostException e) { System.err.println(e); } catch (IOException e) { System.err.println(e); }