Internetworking with TCP/IP, Vol. III : Client-Server Programming and Applications, Linux/Posix Sockets Version
Douglas E. ComerBooks.org participates in affiliate programs including Bookshop.org and the Amazon Services LLC Associates Program. We may earn a commission from qualifying purchases made through links on this page, at no additional cost to you.
Overview
This is the Linux/POSIX Sockets Version of Volume III from the most popular TCP/IP Internetworking series ever published. Volume III answers the question, "How does application software us TCP/IP to communicate over an Internet?" The Linux/POSIX Sockets Version is organized for easy reading. First the text explains the client-server paradigm and socket API that application programs use for network communication. It then discusses how the basic tools can be used to create servers, emphasizing practical designs and techniques that are important to programmers.
FEATURES
- Practical client-server design principles and techniques are presented with the strengths and weaknesses of each approach.
- The most complete coverage of server technology shows how to select among server algorithms and build an advanced server appropriate for each application.
- A wide range of server designs applicable to the WWW and other applications are discussed.
- Chapters on streaming technology and the Real-Time Transport Protocol explain how to transfer audio and video over the Internet.
- Each client-server design is illustrated with a detailed example implementation that has been tested under Linus; all code from the book is available on a Web site.
- The book examines powerful techniques such as application gateways and tunneling.
- It includes the clearest explanation of remote procedure call (RCP) and how it can be used to construct distributed programs.
Synopsis
For junior-to-graduate level courses in Advanced Computer Networking, Client-Server Computing, TCP/IP, Network Protocols, Internetworking, or Distributed Systems.
This book describes the fundamental concepts of client-server computing used to build all distributed computing systems, teaching students how application software uses TCP/IP to communicate over an Internet. The text is organized for easy reading by first explaining the client-server paradigm and socket API that application programs use for network communication and then discussing how the basic tools can be used to create servers, emphasizing practical designs and techniques that are important to programmers. The author covers the complete set of server designs as well as the tools and techniques used to build clients and servers, including Remote Procedure Call (RPC). This latest version in the most popular TCP/IP Internetworking series ever published describes Linux facilities that network programs use such as threads and the socket API. All the code in this version of the text is compliant with the POSIX standard; it has been compiled and tested on the Linux operating system.
Features:
- Practical client-server design principles-Students can use the principles directly in programs.
- Presents the strengths and weaknesses of each approach, allowing students to understand why there are multiple approaches and when each should be used.
- Most complete coverage of server technology-Detailed information about each design.
- Gives students a comprehensive background not available in other texts.
- Shows how to select among server algorithms and how to build an advanced serverappropriate for each application.
- Chapters on streaming technology and the Real-Time Transport Protocol.
- Explain how to transfer audio and video over the Internet.
- Detailed working examples of each client-server design.
- Illustrates implementations that have been tested under Linux. Students can obtain all source code in the text from the Companion Website, and use it in hands-on experiments.
- Central theme of software design.
- Teaches students how to structure clients and servers that are directly applicable to the World Wide Web and other applications.
- Conceptual basis for client and server design-Points out the similarities and differences among various client and server designs, the role of concurrency, and when to use each design.
- Explains that the myriad of possible client and server designs are not random but, in fact, follow a patter that can be understood by considering the choice of concurrency and transport.
- Coverage of all server designs including multiservice, multiprotocol, and single-process concurrent servers.
- Exposes students and professionals to the wide range of possibilities in server design, which are not found in other texts, while emphasizing practical design principles and techniques that are important to programmers.