|
|
|
|
| Preface
|
|
|
| About the Third version
|
|
|
| Organization of the Book
|
|
|
| Who You Are
|
|
|
| Java Versions
|
|
|
| About the Examples
|
|
|
| Conventions Used in this tutorial
|
|
|
| Request for Comments
|
|
|
| Comments and Questions
|
|
|
| Acknowledgments
|
|
| Chapter 1. Why Networked Java?
|
|
|
| Section 1.1. What Can a Network Program Do?
|
|
|
| Section 1.2. Security
|
|
|
| Section 1.3. But Wait! There's More!
|
|
| Chapter 2. Basic Network Concepts
|
|
|
| Section 2.1. Networks
|
|
|
| Section 2.2. The Layers of a Network
|
|
|
| Section 2.3. IP, TCP, and UDP
|
|
|
| Section 2.4. The Internet
|
|
|
| Section 2.5. The Client/Server Model
|
|
|
| Section 2.6. Internet Standards
|
|
| Chapter 3. Basic Web Concepts
|
|
|
| Section 3.1. URIs
|
|
|
| Section 3.2. HTML, SGML, and XML
|
|
|
| Section 3.3. HTTP
|
|
|
| Section 3.4. MIME Media Types
|
|
|
| Section 3.5. Server-Side Programs
|
|
| Chapter 4. Streams
|
|
|
| Section 4.1. Output Streams
|
|
|
| Section 4.2. Input Streams
|
|
|
| Section 4.3. Filter Streams
|
|
|
| Section 4.4. Readers and Writers
|
|
| Chapter 5. Threads
|
|
|
| Section 5.1. Running Threads
|
|
|
| Section 5.2. Returning Information from a Thread
|
|
|
| Section 5.3. Synchronization
|
|
|
| Section 5.4. Deadlock
|
|
|
| Section 5.5. Thread Scheduling
|
|
|
| Section 5.6. Thread Pools
|
|
| Chapter 6. Looking Up Internet Addresses
|
|
|
| Section 6.1. The InetAddress Class
|
|
|
| Section 6.2. Inet4Address and Inet6Address
|
|
|
| Section 6.3. The NetworkInterface Class
|
|
|
| Section 6.4. Some Useful Programs
|
|
| Chapter 7. URLs and URIs
|
|
|
| Section 7.1. The URL Class
|
|
|
| Section 7.2. The URLEncoder and URLDecoder Classes
|
|
|
| Section 7.3. The URI Class
|
|
|
| Section 7.4. Proxies
|
|
|
| Section 7.5. Communicating with Server-Side Programs Through GET
|
|
|
| Section 7.6. Accessing Password-Protected Sites
|
|
| Chapter 8. HTML in Swing
|
|
|
| Section 8.1. HTML on Components
|
|
|
| Section 8.2. JEditorPane
|
|
|
| Section 8.3. Parsing HTML
|
|
|
| Section 8.4. Cookies
|
|
| Chapter 9. Sockets for Clients
|
|
|
| Section 9.1. Socket Basics
|
|
|
| Section 9.2. Investigating Protocols with Telnet
|
|
|
| Section 9.3. The Socket Class
|
|
|
| Section 9.4. Socket Exceptions
|
|
|
| Section 9.5. Socket Addresses
|
|
|
| Section 9.6. Examples
|
|
| Chapter 10. Sockets for Servers
|
|
|
| Section 10.1. The ServerSocket Class
|
|
|
| Section 10.2. Some Useful Servers
|
|
| Chapter 11. Secure Sockets
|
|
|
| Section 11.1. Secure Communications
|
|
|
| Section 11.2. Creating Secure Client Sockets
|
|
|
| Section 11.3. Methods of the SSLSocket Class
|
|
|
| Section 11.4. Creating Secure Server Sockets
|
|
|
| Section 11.5. Methods of the SSLServerSocket Class
|
|
| Chapter 12. Non-Blocking I/O
|
|
|
| Section 12.1. An Example Client
|
|
|
| Section 12.2. An Example Server
|
|
|
| Section 12.3. Buffers
|
|
|
| Section 12.4. Channels
|
|
|
| Section 12.5. Readiness Selection
|
|
| Chapter 13. UDP Datagrams and Sockets
|
|
|
| Section 13.1. The UDP Protocol
|
|
|
| Section 13.2. The DatagramPacket Class
|
|
|
| Section 13.3. The DatagramSocket Class
|
|
|
| Section 13.4. Some Useful apps
|
|
|
| Section 13.5. DatagramChannel
|
|
| Chapter 14. Multicast Sockets
|
|
|
| Section 14.1. What Is a Multicast Socket?
|
|
|
| Section 14.2. Working with Multicast Sockets
|
|
|
| Section 14.3. Two Simple Examples
|
|
| Chapter 15. URLConnections
|
|
|
| Section 15.1. Opening URLConnections
|
|
|
| Section 15.2. Reading Data from a Server
|
|
|
| Section 15.3. Reading the Header
|
|
|
| Section 15.4. Configuring the Connection
|
|
|
| Section 15.5. Configuring the Client Request HTTP Header
|
|
|
| Section 15.6. Writing Data to a Server
|
|
|
| Section 15.7. Content Handlers
|
|
|
| Section 15.8. The Object Methods
|
|
|
| Section 15.9. Security Considerations for URLConnections
|
|
|
| Section 15.10. Guessing MIME Content Types
|
|
|
| Section 15.11. HttpURLConnection
|
|
|
| Section 15.12. Caches
|
|
|
| Section 15.13. JarURLConnection
|
|
| Chapter 16. Protocol Handlers
|
|
|
| Section 16.1. What Is a Protocol Handler?
|
|
|
| Section 16.2. The URLStreamHandler Class
|
|
|
| Section 16.3. Writing a Protocol Handler
|
|
|
| Section 16.4. More Protocol Handler Examples and Techniques
|
|
|
| Section 16.5. The URLStreamHandlerFactory Interface
|
|
| Chapter 17. Content Handlers
|
|
|
| Section 17.1. What Is a Content Handler?
|
|
|
| Section 17.2. The ContentHandler Class
|
|
|
| Section 17.3. The ContentHandlerFactory Interface
|
|
|
| Section 17.4. A Content Handler for the FITS Image Format
|
|
| Chapter 18. Remote Method Invocation
|
|
|
| Section 18.1. What Is Remote Method Invocation?
|
|
|
| Section 18.2. Implementation
|
|
|
| Section 18.3. Loading Classes at Runtime
|
|
|
| Section 18.4. The java.rmi Package
|
|
|
| Section 18.5. The java.rmi.registry Package
|
|
|
| Section 18.6. The java.rmi.server Package
|
|
| Chapter 19. The JavaMail API
|
|
|
| Section 19.1. What Is the JavaMail API?
|
|
|
| Section 19.2. Sending Email
|
|
|
| Section 19.3. Receiving Mail
|
|
|
| Section 19.4. Password Authentication
|
|
|
| Section 19.5. Addresses
|
|
|
| Section 19.6. The URLName Class
|
|
|
| Section 19.7. The Message Class
|
|
|
| Section 19.8. The Part Interface
|
|
|
| Section 19.9. Multipart Messages and File Attachments
|
|
|
| Section 19.10. MIME Messages
|
|
|
| Section 19.11. Folders
|
|
| Colophon
|
|
| Index
|