查看“Remote Procedure Call”的源代码
←
Remote Procedure Call
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
== 什么是RPC(远程过程调用) == 远程过程调用(Remote Procedure Call),简称RPC,是一种让某些服务由位于不同进程 (甚至可能在网络中某个位置的机器上) 而不是在本地可用的代码执行的手段。 这是一种常见的做法,例如由应用程序服务器或web应用程序采用。 RPC的流行协议是COM、Corba或SOAP。 == RPC简而言之 == 一个RPC系统依赖于一个编译器,该编译器将从高级接口描述 (通常是IDL或''Interface Description Language'') 生成帮助代码。 希望调用服务的 “客户端” 代码实际上将在本地调用代理函数,并将其传递给远程代码的参数。 然后,代理对参数进行整理 (或序列化),以使它们适合发送缓冲区,并将该缓冲区发送到服务器代码 (例如,涉及UDP数据包或某些本地消息队列) 并等待响应。 服务器将收到封送的数据包,并将其传递给存根Stub,该存根将重新创建数据 (unmarshall) 并调用实际服务过程,检索结果并将其汇总回给客户端的消息中。 <pre> ( client ) ( server ) | ^ | sayHello("World") | serverSayHello("World") V | +------\ - - - <channel>- - - - \-------+ | PROXY > -> iXX mYY Str'W o r l d \0' -> > STUB | +------/ - - - - - |- - - - /-------+ | marshalled message ^ ^ /_\ /_\ : : : : : |------------|\ : : | .idl file L_\ : + - compiler - | (describing | - compiler + | interface) | +--------------+ </pre> [[Category:IPC]]
返回至“
Remote Procedure Call
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
变体
已展开
已折叠
查看
阅读
查看源代码
查看历史
更多
已展开
已折叠
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息