Java Network Programming by Elliotte Rusty Harold Here are the changes made in the 3/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 The following text was added to the preface: "How to Contact Us We have tested and verified the information in this book to the best of our ability, but you may find that features have changed (or even that we have made mistakes!). Please let us know about any errors you find, as well as your suggestions for future editions, by writing to: O'Reilly & Associates, Inc. 101 Morris Street Sebastopol, CA 95472 1-800-998-9938 (in the U.S. or Canada) 1-707-829-0515 (international/local) 1-707-829-0104 (FAX) You can also send us messages electronically. To be put on the mailing list or request a catalog, send email to: info@oreilly.com I enjoy hearing from readers, whether with general comments about how this could be a better book, specific corrections, or other topics you would like to see covered. You can reach me by sending email to: bookquestions@oreilly.com Please realize, however, that I receive several hundred pieces of email a day and cannot personally respond to each one. We have a web site for the book, where we'll list examples, errata, and any plans for future editions. You can access this page at: http://www.oreilly.com/catalog/9781565922273/ For more information about this book and others, see the O'Reilly web site: http://www.oreilly.com (53) In the second paragraph, the text used to read: "applets loaded from the network" It now reads: "untrusted, unsigned applets loaded from the network" {113} There were some extra closing parentheses at the ends of the last three code fragments. They now read: Image myImage = getImage(getCodeBase(), "logo.gif"); Image myImage = getImage( getDocumentBase(), "logo.gif"); Image myImage = getImage( getDocumentBase(), "images/logo.gif"); {114} The last code fragment at the bottom of the page had an extra closing parenthesis at the end. It now reads: play(getCodeBase(), "gong.au")); {115} The first two code fragments at the top of the page had extra closing parentheses. They now read: play(getDocumentBase(), getParameter("soundfile")); play (getDocumentBase(), "sounds/gong.au"); {116} The first and third code fragments on the page had extra parentheses. They now read: getAudioClip(getCodeBase(), "gong.au"); getAudioClip (getDocumentBase(), "sounds/gong.au"); [188] In the code fragemnt in the middle of the page used to read: "InetAddress.getHostByName("sunsite.unc.edu")" It now reads: "InetAddress.getByName("sunsite.unc.edu")" {130-131} The text was changed from m.statusAll to m.statusID. These two examples used to read: "statusAll" They now read: "statusID" (231) The line: "public UPDClient(InetAddress ia, int port) throws SocketException {" was aligned one space to the left.