EARTH WEEK
Go paperless and save 40% on eligible eBooks, 70% on video now through April 26. Shop the sale.
Register your product to gain access to bonus material or receive a coupon.
Are you looking for a text that explains application software using TCP/IP to communicate over a network?
While few example programs are exciting, each one details one important concept without being too complex to understand.
Many of the concepts apply to all concurrent programs, not only network applications.
This volume answers the question "How does one use TCP/IP?"—focusing on the client-server paradigm, and examining algorithms for both the client and server components of a distributed program. KEY TOPICS: It presents an implementation that illustrates each design and discusses techniques like application-level gateways and tunneling. The book also reviews several standard application protocols and uses them to illustrate the algorithms and implementation techniques.
1. Introduction and Overview.
2. The Client Server Model and Software Design.
3. Concurrent Processing In Client-Server Software.
4. Program Interface to Protocols.
5. The Socket API.
6. Algorithms and Issues in Client Software Design.
7. Example Client Software.
8. Algorithms and Issues in Server Software Design.
9. Iterative, Connectionless Servers (UDP).
10. Iterative, Connection-Oriented Servers (TCP).
11. Concurrent, Connection-Oriented Servers (TCP).
12. Singly-Threaded, Concurrent Servers (TCP).
13. Multiprotocol Servers (TCP, UDP).
14. Multiservice Servers (TCP, UDP).
15. Uniform, Efficient Management of Server Concurrency.
16. Concurrency in Clients.
17. Tunneling at the Transport and Application Levels.
18. Application Level Gateways.
19. External Data Representation (XDR).
20. Remote Procedure Call Concept (RPC).
21. Disturbed Program Generation (Rpcgen Concept).
22. Distributed Program Generation (Rpcgen Example).
23. Network File System Concepts (NFS).
24. Network File System Protocol (NFS, Mount).
25. A TELNET Client (Program Structure).
26. A TELNET Client (Implementation Details).
27. Porting Servers From UNIX to Windows.
28. Deadlock and Starvation in Client-Server Systems.
Appendix 1. Functions and Library Routines Used With Sockets.
Appendix 2. Manipulation of Windows Socket Descriptors.
Bibliography.
Index.