随笔 - 64, 文章 - 11, 评论 - 12, 引用 - 0
数据加载中……

RPC 漫游<1>: 模型

RPC:Remote Produce Call 是这几个单词的缩写。

      我们直译过来就是远程过程调用。对,这种技术是实现远端的过程调用,远端意味着跨主机、可能跨平台、跨网络、跨进程是毫无疑问的事情了,所以我们也可以使用RPC技术来实现本机上一个进程中方法调用另一个进程中的方法。使用这种技术客户机可以调用远端的服务器来执行工作,执行完后把结果集返回来。但是这种复杂性对用户来说是透明的,用户可以是系统的使用者,也可能是开发高层应用逻辑的开发员。


      RPC是怎么工作的呢?我就在下面做了个草图来表达一下。以一个Hello过程来描述。
     Client                                                   Server     

Hello

Hello
Client Stub Server Stub
Client Runtime Liberary Server RuntimeLiberary
Transport Transport

客户调用过程如下:
                    1:客户端应用程序在客户机发出方法调用Hello。
                    2:Client Stub接受应用程序的方法调用,并把请求、数据组织成标准格式给Client Runtime Liberary层。
                    3:Client Runtime Liberary通过指定的通道(可能是管理、网络等)发送数据及请求。

服务接收过程如下:
                   1:Server RuntimeLiberary负责实时地从网络接收数据、请求。把它交给Server Stub。
                   2:Server Stub 负责把数据译成本地格式并进一步调用应用程序实现的服务。
                   3:执行服务Hello.打印出"Hello World" 。

服务端服务执行完后的返回过程:
                  1:服务把返回数据给Server Stub 。
                  2:Server Stub 把数据转换成标准格式给Server RuntimeLiberary。
                  3:Server RuntimeLiberary 则向客户方发送结果数据。

客户方的接受过程
                 1:Client Runtime Liberary接受数据交给Client Runtime Liberary。
                 2:Client Runtime Liberary把标准格式的数据译成本机、本地语言(是开发语言)的数据。并进而交给客户程序。
                 3:客户程序收到服务端处理后的信息了。客户如何利用这个信息呢?哦!这是他的事...................


      RPC模型最初是由SUN公司提出来的,到在现在有多种RPC模型。我这里将要讨论的RPC知识是microsoft RPC模型。

posted on 2007-11-16 22:11 Robertxiao 阅读(515) 评论(0)  编辑 收藏 引用 所属分类: RPC/COM/ATL散谈


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理