RFC1057_RPC远程步骤呼叫协议说明书版本 2

2009年11月5号  |  00:15分类:中文RFC  |  

 

RPC模式

 

Sun RPC协议基于远程过程调用模式,它类似于本地过程调用模型.在本地调用方式中,调用者把参数放在公众指定地点(如注册窗口),然后发送控制到过程,最后重新获得控制.接着,从指定地点取出过程结果,调用者继续执行.

远程过程调用相类似.控制线程在两个过程中逻辑转换:调用过程和服务过程.调用过程首先发送一个调用信息到服务过程然后等待应答信息.调用信息包括过程参数,应答信息包括过程结果.一旦接收到应答信息,就取得过程结果,然后调用执行继续进行.

在服务器端,过程保持睡眠状态到调用信息的到达.当一个调用信息到达,服务器获得过程参数,计算结果,发送应答信息,然后等待下一个调用信息.

在这种模型中,任何时间里两个过程只有一个激活.但是,该模型只是作为一个例子.Sun RPC协议对并行模型执行没有限制,但是其它的有可能不一样.例如,一个应用程序可能选择RPC调用为异步的,因此客户端只有等到服务器端的应答才做有效工作.另外一个可能是使服务器端生成一个新的任务来处理进来的调用,因此最初的服务器可以处理其他请求. 远程调用和本地过程调用有几个重要区别:

1.错误处理:在远程过程调用中,网络或远程服务器的失败必须处理.

2.全局变量和副作用:因为服务器没法访问客户地址空间,隐藏的参数不能用全局变量传递或返回副作用.

3.表现:远程过程操作比本地过程调用慢一到几个数量级.

4.鉴定:因为远程过程可以在不安全的网络中传输,必须采用鉴定.

结论是即使有工具自动为给定服务产生客户或服务器库,仍然必须仔细设计协议.

点击下载:[PDF]RFC1057_RPC远程步骤呼叫协议说明书版本 2_中文版

喜欢本文,那就收藏到: Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网

评论已经关闭。