April 14, 2011, 7:04 a.m.
posted by tyler
The key points in this chapter are the ability to pass file descriptors between processes and the ability of a server to accept unique connections from clients. We've seen how to do this using both STREAMS pipes and UNIX domain sockets. Although all platforms provide support for UNIX domain sockets (refer back to Figure), we've seen that there are differences in each implementation, which makes it more difficult for us to develop portable applications.
We presented two versions of an open server. One version was invoked directly by the client, using fork and exec. The second was a daemon server that handled all client requests. Both versions used the file descriptor passing and receiving functions. The final version also used the clientserver connection functions introduced in Section 17.2.2 and the I/O multiplexing functions from Section 14.5.