Chapter 10. Forking Servers and the inetd Daemon Although the simple TCP servers developed in Chapters 4 and 5 (Figures 4.2 and 5.4) are straightforward, they actually suffer a significant deficiency. Both of these servers work by servicing one client at a time. While they are working on one client, other clients can't connect. [1] [1] Technically, they do connect, but the operating system queues them until the script calls accept () . No I/O can occur until the server has finished servicing the previous connection. Connection-oriented servers must overlap their I/O by providing some sort of concurrency among the multiple sessions. This chapter discusses various techniques for doing so. |