Chapter 1 Networking Theory 1.1 What Is a Network? 1.2 How Do Networks Communicate? 1.3 Communication across Layers 1.4 Advantages of Layering 1.5 Internet Architecture 1.6 Internet Application Protocols 1.7 TCP/IP Protocol Suite Layers 1.8 Security Issues:Firewalls and Proxy Servers 1.9 Summary Chapter 2 Java Overview 2.1 What Is Java? 2.2 The Java Programming Language 2.3 The Java Platform 2.4 The Java Application Program Interface 2.5 Java Networking Considerations 2.6 Applications of Java Network Programming 2.7 Java Language Issues 2.8 System Properties 2.9 Development Tools 2.10 Summary Chapter 3 Internet Addressing 3.1 Local Area Network Addresses 3.2 Internet Protocol Addresses 3.3 Beyond IP Addresses:The Domain Name System 3.4 Internet Addressing with Java 3.5 Summary Chapter 4 Data Streams 4.1 Overview 4.2 How Streams Work 4.3 Filter Streams 4.4 Readers and Writers 4.5 Object Persistence and Object Serialization 4.6 Summary Chapter 5 User Datagram Protocol 5.1 Overview 5.2 DatagramPacket Class 5.3 DatagramSocket Class 5.4 Listening for UDP Packets 5.5 Sending UDP Packets 5.6 User Datagram Protocol Example 5.7 Building a UDP Client/Server 5.8 Additional Information on UDP 5.9 Summary Chapter 6 Transmission Control Protocol 6.1 Overview 6.2 TCP and the Client/Server Paradigm 6.3 TCP Sockets and Java 6.4 Socket Class 6.5 Creating a TCP Client 6.6 ServerSocket Class 6.7 Creating a TCP Server 6.8 Exception Handling:Socket Specific Exceptions 6.9 Summary Chapter 7 Multi-threaded Applications 7.1 Overview 7.2 Multi-threading in Java 7.3 Synchronization 7.4 Interthread Communication 7.5 Thread Groups 7.6 Thread Groups 7.7 Summary Chapter 8 Implementing Application Protocols 8.1 Overview 8.2 Application Protocol Specifications 8.3 Application Protocols Implementation 8.4 Summary Chapter 9 HyperText Transfer Protocol 9.1 Overview 9.2 HTTP and Java 9.3 The Common Gateway Interface(CGI) 9.4 Summary Chapter 10 Java Servlets 10.1 Overview 10.2 How Servlets Work 10.3 Using Servlets 10.4 Running Servlets 10.5 Writing a Simple Servlet 10.6 SingleThreadModel 10.7 ServletRequest and HttpServletRequest 10.8 ServletResponse and Http Response 10.9 ServletConfig 10.10 ServletContext 10.11 Servlet Exceptions 10.12 Cookies 10.13 HTTP Session Management in Servlets 10.14 Summary Chapter 11 Remote Method Invocation(RMI) 11.1 Overview 11.2 How Does Remote Method Invocation Work? 11.3 Defining and RMI Service Interface 11.4 Implementing an RMI Service Interface 11.5 Creating Stub and Skeleton Classes 11.6 Creating an RMI Client 11.7 Creating an RMI Client 11.8 Running the RMI System 11.9 Remote Method Invocation Packages and Classes 11.10 Remote Method Invocation Deployment Issues 11.11 Using Remote Method Invocation to Implement Callbacks 11.12 Remote Object Activation 11.13 Summary Chapter 12 Java IDL and CORBA 12.1 Overview 12.2 Architectural View of CORBA 12.3 Interface Definition Language(IDL) 12.4 From IDL to Java 12.5 Summary Chapter 13 JavaMail 13.1 Overview 13.2 Installing the JavaMail API 13.3 Testing the JavaMail Installation 13.4 Working with the JavaMail API 13.5 Advanced Messaging with JavaMail 13.6 Summary