在远程过程调用中为什么要设置客户代理和服务器代理?它们是如何工作的?
远程过程调用是网络系统中进程之间基于消息传递的一种通信方式。远程过程调用的思想是使远程过程调用尽可能像本地调用一样。换句话说,想使RPC具有透明性。为了实现其透明性,在RPC中设置了客户代理和服务器代理。客户代理的主要功能是:(1)将调用参数进行打包;(2)调用原语send,发送调用参数;(3)调用receive原语,接收来自服务器代理传来的调用返回结果;(4)将结果拆包;(5)取出结果,返回给客户进程。服务器代理的主要功能是:(1)调用receive原语,准备接收来自客户代理的调用参数;(2)将调用参数拆包;(3)调用服务器进程;(4)将返回结果打包;(5)调用send原语,发送调用结果。