远程过程调用(RPC)是一个协议,程序可以使用这个协议请求网络中另一台计算机上某程序的服务而不需知道网络细节。(过程调用有时也称作函数调用,或子例行程序调用。)RPC使用client/server模型。请求程序是client,而服务提供程序则为server。就像一般的本地过程调用一样,RPC是一个同步操作,直到远程过程结果返回请求程序才可以挂起。尽管如此,使用轻质进程或线程时,它们共享同一地址空间,是允许多个RPC并发执行的。
当使用RPC的程序语句被编译成可执行程序时,一个存根将会被包括在编译的代码中,它相当于远程过程代码的代表。
当程序运行,过程调用发生,存根收到请求并将其转发给本地计算机中的一个客户端运行时刻程序。这个客户端运行时刻程序知道如何访问远程计算机及服务器应用程序,它将向网络发送请求远程过程的消息。类似地,服务器也包括一个运行时刻程序及与远程过程连接的存根程序。结果将以相同方式返回。
有多种RPC的模型与实现。一种较流行的模型与实现是开放软件基金会(Open Software Foundation)的分布式计算环境(DCE)。电子和电气工程师协会IEEE在它1991年11月的ISO Remote Procedure Call Specification, ISO/IEC CD 11578 N6561, ISO/IEC中定义了RPC。
RPC跨越了网络通信的开放系统互联(OSI)模型中的传输层与应用层。RPC使得一个包括网络中分布的多个程序的应用程序的开发变得更容易。
不同的client/server的通信方法还有消息队列及IBM的高级程序对程序通信(APPC)。
分享到:
相关推荐
在这个特定的压缩包文件"PHPRPC远程过程调用协议(ASP).7z"中,我们可以推测它包含了与PHPRPC协议相关的源代码,特别地,是针对ASP(Active Server Pages)环境的实现。 首先,我们需要理解远程过程调用(RPC)的...
在提供的压缩包“PHPRPC远程过程调用协议.7z”中,可能包含了以下内容: 1. **源代码**:这通常包括PHPRPC的服务器端和客户端的PHP源码。服务器端代码可能包含一个或多个PHP类,这些类定义了可供远程调用的函数。...
PHPRPC是一个轻型的、安全的、跨网际的、跨语言的、跨平台的、跨环境的、跨域的、支持复杂对象传输的、支持引用参数传递的、支持内容输出重定向的、支持分级错误处理的、支持会话的、面向服务的高性能远程过程调用...
PHPRPC是一个轻型的、安全的、跨网际的、跨语言的、跨平台的、跨环境的、跨域的、支持复杂对象传输的、支持引用参数传递的、支持内容输出重定向的、支持分级错误处理的、支持会话的、面向服务的高性能远程过程调用...
远程过程调用(RPC)是一种计算机通信协议,它允许一个程序调用另一个在不同地址空间(可能在同一台机器上,也可能在远程网络上的另一台机器上)运行的程序。PHP RPC是PHP实现的RPC框架,它简化了在分布式系统中进行...
**RFC1057: RPC远程过程调用协议说明书版本2** 远程过程调用(Remote Procedure Call, RPC)是一种通信协议,允许网络上的一个程序在另一个程序上执行操作,而无需了解对方的具体位置或网络细节。RPC协议由Sun ...
### RPC远程过程调用详解 #### 一、引言 远程过程调用(Remote Procedure Call, RPC)是一种网络通信模式,它允许程序通过网络调用位于另一台计算机上的子程序,如同调用本地程序一样。RPC的设计目标是提供一个透明...
**远程过程调用协议(RPC)详解** 远程过程调用(Remote Procedure Call,简称RPC)是一种计算机通信协议,它允许程序在不同的网络节点上执行远程的函数或子程序,而无需程序员关注底层网络协议和细节。RFC1050是...
RPC的核心思想是透明性,即客户端可以像调用本地方法一样调用远程服务器上的方法,而无需关心网络通信的细节。 首先,RPC框架主要包括以下几个关键组件: 1. **客户端(Client)**:发起RPC请求的程序,它调用远程...
- 调用协议:如HTTP、TCP/IP等,定义了数据如何在网络中传输。 - 映射机制:将客户端的调用映射到服务器端的实际方法执行。 4. **RPC框架的类型**: - gRPC:基于HTTP/2,使用Protocol Buffers作为数据交换格式...
PHPRPC是一个轻型的、安全的、跨网际的、跨语言的、跨平台的、跨环境的、跨域的、支持复杂对象传输的、支持引用参数传递的、支持内容输出重定向的、支持分级错误处理的、支持会话的、面向服务的高性能远程过程调用...
PHPRPC是一个轻型的、安全的、跨网际的、跨语言的、跨平台的、跨环境的、跨域的、支持复杂对象传输的、支持引用参数传递的、支持内容输出重定向的、支持分级错误处理的、支持会话的、面向服务的高性能远程过程调用...
RPC(Remote Procedure Call)远程过程调用是一种计算机通信协议,允许一个程序在某处执行,通过网络调用另一台计算机上的程序,就像它是一个本地函数一样。这种技术在分布式系统和微服务架构中广泛使用,简化了不同...
RPC(Remote Procedure Call)是一种进程间通信(IPC)技术,允许程序在不同的计算机上通过网络进行通信,就像调用本地函数一样调用远程系统上的函数。这种技术在分布式系统和网络编程中扮演着重要角色,简化了...
RPC,即Remote Procedure Call(远程过程调用),是计算机网络编程中的一个重要概念,它允许一个程序在不理解底层网络协议的情况下,调用另一个网络上不同机器上的程序。在这个"RPC.rar"压缩包中,主要围绕C++语言在...
【网络程序设计教材第十一章】探讨了RPC(Remote Procedure Call)远程过程调用这一关键概念,它是分布式计算中进程间通信的一种重要方式。RPC使得一个进程能够像调用本地函数一样调用运行在另一台计算机上的过程,...
RPC(Remote Procedure Call,远程过程调用)是一种计算机通信协议,它允许一个程序请求另一个地址空间(通常是远程计算机上的程序)执行代码,并等待结果返回。RPC使得程序能够像调用本地函数一样调用位于远程...
Python中的RPC(Remote Procedure Call,远程过程调用)是一种允许程序在不同的计算机上进行通信并调用对方功能的技术。在本教程中,我们将探讨如何使用Python实现RPC,以实现跨进程甚至跨网络的函数调用。 RPC的...