<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>http://wiki.foofun.cn//index.php?action=history&amp;feed=atom&amp;title=Remote_Procedure_Call</id>
	<title>Remote Procedure Call - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.foofun.cn//index.php?action=history&amp;feed=atom&amp;title=Remote_Procedure_Call"/>
	<link rel="alternate" type="text/html" href="http://wiki.foofun.cn//index.php?title=Remote_Procedure_Call&amp;action=history"/>
	<updated>2026-04-07T10:07:15Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>http://wiki.foofun.cn//index.php?title=Remote_Procedure_Call&amp;diff=383&amp;oldid=prev</id>
		<title>Zhang3：创建页面，内容为“== 什么是RPC(远程过程调用) ==  远程过程调用(Remote Procedure Call)，简称RPC，是一种让某些服务由位于不同进程 (甚至可能在网络中某个位置的机器上) 而不是在本地可用的代码执行的手段。 这是一种常见的做法，例如由应用程序服务器或web应用程序采用。  RPC的流行协议是COM、Corba或SOAP。  == RPC简而言之 ==  一个RPC系统依赖于一个编译器，该编译器将从高…”</title>
		<link rel="alternate" type="text/html" href="http://wiki.foofun.cn//index.php?title=Remote_Procedure_Call&amp;diff=383&amp;oldid=prev"/>
		<updated>2022-02-06T10:37:17Z</updated>

		<summary type="html">&lt;p&gt;创建页面，内容为“== 什么是RPC(远程过程调用) ==  远程过程调用(Remote Procedure Call)，简称RPC，是一种让某些服务由位于不同进程 (甚至可能在网络中某个位置的机器上) 而不是在本地可用的代码执行的手段。 这是一种常见的做法，例如由应用程序服务器或web应用程序采用。  RPC的流行协议是COM、Corba或SOAP。  == RPC简而言之 ==  一个RPC系统依赖于一个编译器，该编译器将从高…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== 什么是RPC(远程过程调用) ==&lt;br /&gt;
&lt;br /&gt;
远程过程调用(Remote Procedure Call)，简称RPC，是一种让某些服务由位于不同进程 (甚至可能在网络中某个位置的机器上) 而不是在本地可用的代码执行的手段。 这是一种常见的做法，例如由应用程序服务器或web应用程序采用。&lt;br /&gt;
&lt;br /&gt;
RPC的流行协议是COM、Corba或SOAP。&lt;br /&gt;
&lt;br /&gt;
== RPC简而言之 ==&lt;br /&gt;
&lt;br /&gt;
一个RPC系统依赖于一个编译器，该编译器将从高级接口描述 (通常是IDL或''Interface Description Language'') 生成帮助代码。 希望调用服务的 “客户端” 代码实际上将在本地调用代理函数，并将其传递给远程代码的参数。 然后，代理对参数进行整理 (或序列化)，以使它们适合发送缓冲区，并将该缓冲区发送到服务器代码 (例如，涉及UDP数据包或某些本地消息队列) 并等待响应。&lt;br /&gt;
&lt;br /&gt;
服务器将收到封送的数据包，并将其传递给存根Stub，该存根将重新创建数据 (unmarshall) 并调用实际服务过程，检索结果并将其汇总回给客户端的消息中。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 ( client )                                    ( server )&lt;br /&gt;
      |                                            ^&lt;br /&gt;
      | sayHello(&amp;quot;World&amp;quot;)                          | serverSayHello(&amp;quot;World&amp;quot;)&lt;br /&gt;
      V                                            |&lt;br /&gt;
   +------\     -  -  - &amp;lt;channel&amp;gt;-  -  -  -   \-------+&lt;br /&gt;
   | PROXY &amp;gt; -&amp;gt;  iXX mYY Str'W o r l d \0'  -&amp;gt; &amp;gt; STUB |&lt;br /&gt;
   +------/     -  -  -  -  - |-  -  -  -     /-------+&lt;br /&gt;
                              |&lt;br /&gt;
                   marshalled message&lt;br /&gt;
       ^                                           ^&lt;br /&gt;
      /_\                                         /_\&lt;br /&gt;
       :                                           :&lt;br /&gt;
       :                                           :&lt;br /&gt;
       :               |------------|\             :&lt;br /&gt;
       :               | .idl file  L_\            :&lt;br /&gt;
       +  - compiler - | (describing  | - compiler +&lt;br /&gt;
                       |  interface)  |&lt;br /&gt;
                       +--------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:IPC]]&lt;/div&gt;</summary>
		<author><name>Zhang3</name></author>
	</entry>
</feed>