Flutter AbsorbPointer 用于阻止子 widget 接收指针事件

1、何为 RPC

RPC(Remote Procedure Call) 即远程过程调用,通过名字我们就能看出 RPC 关注的是远程调用而非本地调用。

为什么要 RPC ?

因为,两个不同的服务器上的服务提供的方法不在一个内存空间,所以,需要通过网络编程才能传递方法调用所需要的参数。并且,方法调用的结果也需要通过网络编程来接收。但是,如果我们自己手动网络编程来实现这个调用过程的话工作量是非常大的,因为,我们需要考虑底层传输方
式(TCP 还是 UDP)、序列化方式等等方面。

RPC 能帮助我们做什么呢?

简单来说,通过 RPC 可以帮助我们调用远程计算机上某个服务的方法,这个过程就像调用本地方法一样简单。并且!我们不需要了解底层网络编程的具体细节。

举个例子:两个不同的服务 A、B 部署在两台不同的机器上,服务 A 如果想要调用服务 B 中的某个方法的话就可以通过 RPC 来做。

一言蔽之:RPC 的出现就是为了让你调用远程方法像调用本地方法一样简单。

2、RPC 的原理是什么

为了能够帮助小伙伴们理解 RPC 原理,我们可以将整个 RPC 的 核心功能看作是下面 👇 6 个部分实现的:

  1. 客户端(服务消费端) :调用远程方法的一端。
  2. 客户端 Stub(桩) :这其实就是一代理类。代理类主要做的事情很简单,就是把你调用方法、类、方法参数等信息传递到服务端。
  3. 网络传输 :网络传输就是你要把你调用的方法的信息比如说参数啊这些东西传输到服务端,然后服务端执行完之后再把返回结果通过网络传输给你传输回来。网络传输的

猜你喜欢

转载自blog.csdn.net/zl18603543572/article/details/129880803