RPC是什么意思?

article/2025/9/21 17:42:30
原文地址:http://baike.baidu.com/link?url=ZV6b0T5v04pem1NluXrFwslmhOosGK3YAeKYBfXHF3J-cg96O7CE9j_opGpKCftpBKWqLtY9-LycDAX0ULaLpssX4IIVmK6fSdtZBzz6nbFRsA-vXppB4IV1KBfDu07pY2dgZYTn5A65RkuhPO00bf5ngU6qfujFC14JqgumBPLgqXgt1VnAzQ7xOwSbJbJkqtNcGRdPxt9f_d7reHUeTq
工作中总是会遇到RPC这个词,每次都忘记是啥意思,现在将这个词的解释搬到自己的博客中,希望下次遇到不会忘记,^_^

释义:

RPC(Remote Procedure Call Protocol)—— 远程过程调用 协议 它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议 RPC协议 假定某些 传输协议 的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI 网络通信 模型中,RPC跨越了 传输层 应用层 。RPC使得开发包括网络 分布式 多程序在内的应用程序更加容易。
RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。在服务器端,进程保持睡眠状态直到调用信息到达为止。当一个调用信息到达,服务器获得进程参数,计算结果,发送答复 信息,然后等待下一个调用信息,最后,客户端调用进程接收答复信息,获得进程结果,然后调用执行继续进行。
有多种 RPC模式和执行。最初由 Sun 公司提出。IETF ONC 宪章重新修订了 Sun 版本,使得 ONC RPC 协议成为 IETF 标准协议。现在使用最普遍的模式和执行是开放式软件基础的分布式计算 环境(DCE)。
工作原理(以Windows操作系统为例):
运行时,一次客户机对服务器的RPC调用,其内部操作大致有如下十步:
1.调用客户端句柄;执行传送参数
2.调用本地系统 内核发送网络消息
3. 消息传送到远程 主机
4.服务器句柄得到消息并取得参数
5.执行远程过程
6.执行的过程将结果返回服务器句柄
7.服务器句柄返回结果,调用远程系统 内核
8.消息传回 本地主机
9.客户句柄由内核接收消息
10.客户接收句柄返回的数据
RPC OVER HTTP
Microsoft RPC-over-HTTP 部署(RPC over HTTP)允许RPC客户端安全和有效地通过Internet 连接到RPC 服务器程序并执行 远程过程调用。这是在一个名称为RPC-over-HTTP 代理,或简称为RPC 代理的 中间件的帮助下完成的。
RPC 代理运行在IIS计算机上。它接受来自Internet 的RPC 请求,在这些请求上执行认证,检验和访问检查,如果请求通过所有的测试,RPC 代理将请求转发给执行真正处理的RPC  服务器。通过RPC over HTTP,RPC客户端不和服务器直接通信,它们使用RPC 代理作为中间件。
协议结构:
远程过程调用 (RPC)信息协议由两个不同结构组成:调用信息和答复信息。信息流程如下所示:
RPC:远程过程调用流程
RPC 调用信息:每条远程过程调用信息包括以下无符号整数字段,以独立识别远程过程:
程序号(Program number)
程序版本号(Program version number)
过程号(Procedure number)
RPC 调用信息主体形式如下:
struct call_body {
unsigned int rpcvers;
unsigned int prog;
unsigned int vers;
unsigned int proc;
opaque_auth cred;
opaque_auth verf;
1 parameter
2 parameter . . . };
RPC 答复信息:RPC 协议的答复信息的改变取决于 网络服务器对调用信息是接收还是拒绝。答复信息请求包括区别以下情形的各种信息:
RPC 成功执行调用信息。.
RPC 的远程实现不是协议第二版,返回 RPC 支持的最低和最高版本号。
在远程系统中,远程程序不可用。
远程程序不支持被请求的版本号。返回远程程序所支持的最低和最高版本号。
请求的过程号不存在。通常是呼叫方协议或程序差错。
RPC答复信息形式如下:
enum reply_stat stat
{MSG_ACCEPTED = 0,
MSG_DENIED = 1 };



http://chatgpt.dhexx.cn/article/Onq5BvWC.shtml

相关文章

rpc协议服务器是什么,什么是rpc框架

第五,返回值还要发送回服务器A上的应用,也要经过序列化的方式发送,服务器A接到后,再反序列化,恢复为内存中的表达方式,交给A服务器上的应用 这里写图片描述 为什么RPC呢?就是无法在一个进程内&a…

rpc协议服务器是什么,RPC是什么?

RPC是什么? REST和RPC都常用于微服务架构中。 都是网络交互的协议规范。 通常用于多个微服务之间的通信协议。 RPC就是从一台机器(客户端)上通过参数传递的方式调用另一台机器(服务器)上的一个函数或方法(可以统称为服务)并得到返回的结果。 什么是RPC 远程方法调用…

RPC简介

1. 概述 RPC(Remote Procedure Call),即远程过程调用,是一种通过网络从远程计算机程序上请求服务、而不需要了解底层网络技术的协议。RPC协议假定某些传输协议(如TCP或UDP)的存在,为通信程序之…

【OS笔记 28】处理死锁的四种方法——预防死锁(破坏四个必要条件之一)

前面讲过预防死锁是通过破坏死锁的四个必要条件,所以就有四个预防死锁的方法吗?错!只有三种,因为互斥条件是必须的,不仅不能改变,还应该加以保证。因此只能破坏后三个条件。 一、破坏请求和保持条件 • 方…

什么是死锁,产生死锁的必要条件,以及避免死锁的方法

一、死锁的定义 死锁是指,有两个或两个以上的线程在执行的过程中,由于竞争的资源或者彼此通信而造成的一种阻塞状态,若无外力作用,他们将都无法进行下去,从而形成一直阻塞的状态叫死锁。 简单来说就是…

死锁产生的四个必要条件?如何避免和预防死锁产生?

一、什么是死锁? 两个线程或两个以上线程都在等待对方执行完毕才能继续往下执行的时候就发生了死锁。结果就是这些线程都陷入了无限的等待中,这就是死锁。 举个例子:如果线程1锁住了A,然后尝试对B进行加锁,同时线程2已…

死锁产生的原因和必要条件详解

3.5 产生死锁的原因和必要条件 在多道程序系统中,虽借助于多个进程的并发执行,改善了系统的资源利用率,提高了系统的吞吐量,但可能发生一种危险——死锁。 死锁(deadlock): 是指多个进程在运…

死锁概念,死锁产生的四个必要条件,如何避免和预防死锁

一、死锁概念 死锁是指两个或多个进程在执行的过程中,因为竞争资源而造成互相等待的现象,若无外力作用,它们都无法推进下去。 1.在等待对方时占有不可抢占的资源 举个例子,假设有P1,P2两个进程,都需要A和…

关于死锁,死锁的四个必要条件的总结

什么是死锁? 死锁,指的是多个进程再运行期间因争夺资源而产生的一种僵局,若无外力作用(破坏死锁),程序将无法运行。 死锁产生的四个必要条件 互斥条件: 进程要求对所分配的资源(如…

死锁产生的四个必要条件

一、死锁产生的四个必要条件 互斥条件:资源是独占的且排他使用,进程互斥使用资源,即任意时刻一个资源只能给一个进程使用,其他进程若申请一个资源,而该资源被另一进程占有时,则申请者等待直到资源被占有者…

什么是死锁?死锁发生的四个必要条件是什么?如何避免和预防死锁产生?

什么是死锁? 死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程…

死锁和产生死锁的四个必要条件以及如何避免和预防死锁

什么是死锁 如果一组进程中的每一个进程都在等待仅由该组进程中的其它进程才能引发的事件,那么该组进程就是死锁的。 死锁出现的场景 (1)多个线程:彼此申请对方资源而导致的死锁。A申请B的资源时,因为资源被占用&am…

理解死锁产生的四个必要条件

死锁的定义 死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进…

死锁,死锁的四个必要条件以及处理策略

一、什么是死锁二、死锁与饥饿三、资源的类型 3.1 可重用资源和消耗性资源 3.1.1 可重用资源(永久性资源)3.1.2 消耗性资源(临时性资源) 3.2 可抢占资源和不可抢占资源 3.2.1 可抢占资源3.2.2 不可抢占资源 四、死锁产生的原因 4…

死锁产生的四个必要条件(缺一不可)

死锁产生必须同时满足四个条件,只要其中任意一条不成立,死锁就不会发生。 1、互斥条件:进程要求对所分配的资源进行排他性控制,即在一段时间内某项资源只被 一个进程所占有。此时若有其他进程请求该资源,则请求进程只能等待。如图一 2、非抢占:进程所获得的额资源在未使…

死锁的四个必要条件

死锁在高并发中是一个常见的名词。产生的四个必要条件如下: 互斥条件:一个资源同一时间能且只能被一个线程访问; 不可掠夺:当资源被一个线程占用时,其他线程不可抢夺该资源; 请求与等待:当资源被…

div在html垂直居中,div 垂直居中(css div水平垂直居中六种方法)

div垂直居中 div垂直居中代码示例如下: 前台效果如下图所示: 如图所示,div中的文字垂直居中。其中主要的属性就是line-height。 line-height属性设置行间的间隔(行高即垂直方向)。 line-height属性会影响行框的规划。在应用到一个块级元素时&…

使用css3将一个div水平和垂直居中显示

使用css3将一个div水平和垂直居中显示 方案一: div绝对定位水平垂直居中【margin:auto实现绝对定位元素的居中】, 代码两个关键点:1.上下左右均0位置定位; 2.margin: auto; 其width、height如何更改都是居中显示的,兼容…

CSS 实现DIV水平垂直居中(二)

CSS 实现DIV垂直居中 上期介绍了CSS实现div水平居中的五种方法,下面介绍CSS实现div垂直居中的几种方法。上篇:CSS 实现DIV水平居中 首先还是和上期同样的两个div盒子,以下方法实现div垂直居中,效果如图: 1.通过padding上下留白实…

div中的内容水平垂直居中

1. div高度自适应的情况 div在不设置高度的时候,会被里面的内容撑开,内容自动填充在div中,无论是一行内容还是多行内容,此时不需要设置垂直居中,内容自动在中间的, 想要看的更直观些,只需要加上…