The RPC interface

To use the RPC interface, you must be familiar with programming in the C language, and you should have a working knowledge of networking concepts.

The RPC interface enables programmers to write distributed applications using high-level RPCs rather than lower-level calls based on sockets.

When you use RPCs, the client communicates with a server. The client invokes a procedure to send a call message to the server. When the message arrives, the server calls a dispatch routine, and performs the requested service. The server sends back a reply message, after which the original procedure call returns to the client program with a value derived from the reply message.

See Sample RPC programs, for sample RPC client, server, and raw data stream programs. Figure 1 and Figure 2 provide an overview of the high-level RPC client and server processes from initialization through cleanup.

Figure 1. Remote procedure call (client)
Flow chart that describes how RPC client issues a message call. The processes include initialize, process call, free resources, and final cleanup.
Figure 2. Remote procedure call (server)
Flow chart that describes how RPC server responds to a message call.