本文介绍: RPC是一个计算机通信协议,允许运行一台计算机程序调用一台计算机的子程序,允许调用远程服务,是一个C/S模式下图百度百科的信息可以看到,它的作用就是我想用到的。普通参数传递简单的,但是如果是引用参数比如指针,由于不同的存储,可能引用失效,这样就需要参数副本也传送过去,传递一个指向服务器函数指针然后对象发送客户端复制它的引用。:类似客户进程客户端是无法区分的,将参数打包消息然后调用本地操作系统,来将消息发送给服务器操作系统。:也就是所说的调用方,发起调用

基本概念

RPC是一个计算通信协议,允许运行一台计算机的程序调用一台计算机的子程序,允许调用远程服务,是一个C/S模式下图百度百科的信息,可以看到,它的作用就是我想用到的。main.go里面计算部分,我希望可以放到服务器上,而服务器获得数据进行计算之后把结果再返还回来,然后本地就可以继续执行下面的代码
RPC
详解看了知乎的一篇文章
链接: RPC详解

组成

文章中提到了很多的概念
客户端:也就是所说的调用方,发起调用
客户端存根:类似客户进程客户端是无法区分的,将参数打包消息然后调用本地操作系统,来将消息发送给服务器操作系统
服务器存根接收来自服务器操作系统消息,并从里面取出参数,然后调用服务器。另外一个作用就是接收来自服务器端的消息,打包调用操作系统然后传给客户的本地操作系统
服务器端执行相应的操作,并将结果返回服务器存根

具体步骤如下
RPC原理

调用例子

存在问题

普通参数的传递简单的,但是如果是引用参数,比如指针,由于不同的存储,可能引用失效,这样就需要将参数的副本也传送过去,传递一个指向服务器函数指针然后对象发送客户端复制它的引用
不同的系统的数据格式也可能有区别,所以需要进行标准统一。可以选取一个类型作为参数进行传递来完成统一

python实现

因为远程暂时用不了go语言,所以先采用python实现一下
具体是参考了下面的博客
链接: RPC例子

因为也是C/S模式,所以一个客户端,一个服务器端。但是如果在本机上就可以连接成功,如果放到平台上的话,就没有连接成功,ping没有办法ping通。尝试了很多种不同的方法,都没有办法。所以最后只能再换一个了。

原文地址:https://blog.csdn.net/RuRu_Bai/article/details/134314209

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_24194.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注