The client

The client wants to send a request to a server, block until the server has completed the request, and then when the request is completed and the client is unblocked, to get at the “answer.”

This implies two things: the client needs to be able to establish a connection to the server and then to transfer data via messages—a message from the client to the server (the “send” message) and a message back from the server to the client (the “reply” message, the server's reply).