Network Programming

Traditional network applications were often programmed in a two-tier client-server model, as was the chat server just described. A service listened on a named pipe or a well-known IP port for a client request. When it received a request, it spawned a worker process or thread to decode and handle the request. An improvement was to obtain the worker process or thread from a pool to spread the fixed overhead of process or thread creation across many requests.

Terms such as fat client, thin client, and rich client originated from the richness of the client user interface and how much of the application logic resided in the client. The network application developer had to partition this separation as a design choice. The programmer ...

Get Linux® and Windows® Interoperability Guide now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.