使用 RPC 的中间层
中间层 RPC 例程用于大多数应用程序。 由于其简单性和缺乏灵活性,在编程中有时会忽略中间层。 在此级别, RPC 不允许在发生错误时进行超时规范,传输选择或进程控制。
RPC 的中间层也不支持多种类型的调用认证。 程序员通常需要这些类型的控制。
使用属于 RPC 中间层的 registerrpc, callrpc和 svc_run 系统例程进行远程过程调用。 registerrpc 和 callrpc 例程是最基本的例程。 registerrpc 例程获取唯一的系统范围过程标识号。 callrpc 例程执行远程过程调用。
每个 RPC 过程由程序号,版本号和过程号唯一定义。 程序号指定一组相关远程过程,每个过程都具有不同的过程号。 每个程序还有一个版本号。 因此,当对远程服务进行轻微更改 (例如添加新过程) 时,不需要分配新的程序号。
RPC 接口还处理任意数据结构 (传递任意数据类型) ,而不考虑各种工作站上的不同字节顺序或结构布局约定。 有关更多信息,请参阅 使用 RPC 的中间层示例。