Client/server socket programs: Concurrent server socket programs

A concurrent server accepts a client connection, delegates the connection to a child process of some kind, and immediately signals its availability to receive the next client connection.

The following list describes the concurrent server process.

  1. When a connection request arrives in the main process of a concurrent server, it schedules a child process and forwards the connection to the child process.
  2. The child process takes the connection from the main process.
  3. The child process receives the client request, processes it, and returns a reply to the client.
  4. The connection is closed, and the child process terminates or signals to the main process that it is available for a new connection.

You can implement a concurrent server in the following MVS™ environments:

In the iterative and concurrent server scenarios described above, client and server processes could have exchanged a series of request and reply sequences before closing the connection.