Java Network Programming, 2nd Edition
Update: The third edition of the Java Network Programming has been published.
I'm keeping this page here to support readers who bought the
second edition, as well as for readers of translations,
since many of the translations are still based on the second edition.
However, if you want the most current information,
you should go to the third edition page
instead. It is substantially improved over the second edition
with lots of new and updated material. New topics include Java 5,
cookies, proxies, IPv6, and
the New I/O APIs.
It is completely up-to-date with the state of the art in Java as of Java 1.5, a.k.a. Java 5.
If you're buying a new copy, you'll want to make sure you get the third edition.
It's the one with the otter on the cover.
Most of what is new and exciting
about Java centers around the potential for new kinds of dynamic,
networked applications, and Java Network Programming
shows you how to write them.
Topics covered include sockets, server sockets,
URLs, InetAddresses, UDP, TCP/IP, CGI, Multicasting, Applets, SSL, HTML,
RMI, and more.
Java Network Programming, 2nd Edition, is a complete introduction to developing
network programs (both applets and applications) using Java, covering everything from
Networking fundamentals to remote method invocation (RMI). It includes chapters on
TCP and UDP sockets, multicasting, protocol and content handlers, and URLs. This
second edition also includes coverage of Java 1.1, 1.2 and 1.3. New chapters cover
multithreaded network programming, I/O, HTML parsing and display, the Java Mail API,
the Java Secure Sockets Extension, and more.
If I've succeeded in piquing your interest, you should be able to
find Java Network Programming at almost any bookstore that
carries computer books including the online bookstore,
Amazon and
Barnes & Noble.
If you need to special order it, the ISBN number is 1-565-92870-9.
It's $39.95, published by O'Reilly, and written by me, Elliotte
Rusty Harold.
- Preface
-
- 1. Why Networked Java?
- What Can a Network Program Do?
- But Wait!-There's More!
- 2. Basic Network Concepts
- Networks
- The Layers of a Network
- IP, TCP, and UDP
- The Internet
- The Client/Server Model
- Internet Standards
- 3. Basic Web Concepts
- URIs
- HTML, SGML, and XML
- HTTP
- MIME
- CGI
- Applets and Security
- 4. Java I/O
- Output Streams
- Input Streams
- Filter Streams
- Readers and Writers
- 5. Threads
- Running Threads
- Returning Information from a Thread
- Synchronization
- Deadlock
- Thread Scheduling
- Thread Pools
- 6. Looking Up Internet Addresses
- DNS, IP Addresses, and All That
- The InetAddress Class
- Some Useful Programs
- 7. Retrieving Data with URLs
- The URL Class
- The URLEncoder and URLDecoder Classes
- Communicating with CGIs and Servlets Through GET
- Accessing Password-Protected Sites
- 8. HTML in Swing
- HTML on Components
- JEditorPane
- Parsing HTML
- 9. The Network Methods of java.applet.Applet
- Using java.applet.Applet to Download Data
- The ImageObserver Interface
- The MediaTracker Class
- Network Methods of java.applet.AppletContext
- 10. Sockets for Clients
- Socket Basics
- Investigating Protocols with Telnet
- The Socket Class
- Socket Exceptions
- Examples
- 11. Sockets for Servers
- The ServerSocket Class
- Some Useful Servers
- 12. Secure Sockets
- Secure Communications
- Creating Secure Client Sockets
- Methods of the SSLSocket Class
- Creating Secure Server Sockets
- Methods of the SSLServerSocket Class
- 13. UDP Datagrams and Sockets
- The UDP Protocol
- The DatagramPacket Class
- The DatagramSocket Class
- Some Useful Applications
- 14. Multicast Sockets
- What Is a Multicast Socket?
- Working with Multicast Sockets
- Two Simple Examples
- 15. The URLConnection Class
- Opening URLConnections
- Reading Data from a Server
- Reading the Header
- Configuring the Connection
- Configuring the Client Request MIME Header
- Writing Data to a Server
- Content Handlers
- The Object Methods
- Security Considerations for URLConnections
- Guessing MIME Types
- HttpURLConnection
- JarURLConnection
- 16. Protocol Handlers
- What Is a Protocol Handler?
- The URLStreamHandler Class
- Writing a Protocol Handler
- More Protocol Handler Examples and Techniques
- The URLStreamHandlerFactory Interface
- 17. Content Handlers
- What Is a Content Handler?
- The ContentHandler Class
- The ContentHandlerFactory Interface
- A Content Handler for an Image Format: image/x-fits
- 18. Remote Method Invocation
- What Is Remote Method Invocation?
- Implementation
- Loading Classes at Runtime
- The java.rmi Package
- The java.rmi.registry Package
- The java.rmi.server Package
- 19. The JavaMail API
- What Is the JavaMail API?
- Sending Email
- Receiving Mail
- Password Authentication
- Addresses
- The URLName Class
- The Message Class
- The Part Interface
- Multipart Messages and File Attachments
- MIME Messages
- Folders
- Index
Copyright 2000, 2001 Elliotte Rusty Harold
elharo@metalab.unc.edu
Last Modified October 27, 2003