Practical Unix Programming:
A Guide to Concurrency, Communication, and Multithreading

by Kay. A. Robbins and Steven Robbins

Chapter 12: Client-Server Communication

In the client-server model, processes called servers provide services to clients on a network. Most local area networks have file servers which manage common disk space making it easier to share files and perform backups. Standard Unix network services such as mail and file transfer also use the client-server paradigm. This chapter develops a special library called UICI (Universal Internet Communication Interface) for simplifying client-server programming and shows how to program different client-server strategies in terms of UICI. The chapter then develops implementations of UICI in terms of three different Unix communication mechanisms --- sockets, TLI, and STREAMS. A side-by-side comparison of the implementations clarifies some of the differences between the mechanisms. POSIX does not yet standardize network communication, and this chapter follows the SPEC 1170 version of sockets and TLI.

Next chapter

Back to chapter summaries