(done) 什么 RPC 协议? remote procedure call 远程调用协议

来源:https://www.bilibili.com/video/BV1Qv4y127B4/?spm_id_from=333.337.search-card.all.click&vd_source=7a1a0bc74158c6993c7355c5490fc600


可以理解为,调用远程服务器上的一个方法/函数/服务的方式,同时隐藏网络细节

一个 python3 的 RPC 例子如下 (服务端和客户端都在本地) :

服务端:

from xmlrpc.server import SimpleXMLRPCServerclass calculate:def add(self, x, y):return x + ydef multiply(self, x, y):return x * ydef subtract(self, x, y):return abs(x-y)def divide(self, x, y):return x/yobj = calculate()
server = SimpleXMLRPCServer(("localhost", 8088))
# 将实例注册给rpc server
server.register_instance(obj)print("Listening on port 8088")
server.serve_forever()

客户端:

from xmlrpc import clientserver = client.ServerProxy("http://localhost:8088")>> server.add(2, 3)
5
>>> server.multiply(2, 3)
6
>>> server.subtract(2, 3)
1
>>> server.divide(2, 3)
0

如果要让服务端和客户端在两个不同的机器上的话,服务端的这行代码

server = SimpleXMLRPCServer(("localhost", 8088))

得写成:

server = SimpleXMLRPCServer(("serverIP", 8088))

客户端的这行代码

server = client.ServerProxy("http://localhost:8088")

得写成

server = client.ServerProxy("http://serverIP:8088")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/58439.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Docker本地安装Minio对象存储

Docker本地安装Minio对象存储 1. 什么是 MinIO? MinIO 是一个开源的对象存储服务器。这意味着它允许你在互联网上存储大量数据,比如文件、图片、视频等,而不需要依赖传统的文件系统。MinIO 的特点在于它非常灵活、易于使用,同时…

数据结构算法学习方法经验总结

DSA:Data Structures, Algorithms, and Problem-Solving Techniques 三大核心支柱 一次学习一个主题,按照如下顺序学习 如何开始学习新的主题 学习资源 https://www.youtube.com/playlist?listPLDN4rrl48XKpZkf03iYFl-O29szjTrs_O (Algorithms) https://ww…

CSRF 攻击 与 SameSite 属性

1. CSRF 攻击介绍 当用户登录银行网站A(例如 bank.com)时,其浏览器会存储认证信息。恶意网站B(例如 attacker.com)可能会包含一个自动提交的请求,模拟用户在银行网站A上的操作,如转账。如果用户…

GSCoolink基石 GSV6127E HDMI2.0/Type-C/DP1.4 转MIPI 可替代CH7515和CS5511

GSCoolink基石 GSV6127E HDMI2.0/Type-C/DP1.4 转MIPI 可替代CH7515和CS5511,适用于PC一体机。 Gscoolink GSV6127E是一款高性能、低功耗的Type-C/DisplayPort 1.4到MIPI CSI-2/LVDS/TTL转换器。使用双端口MIPI接口,可以使用MIPI接口传输真正的4K60 444…

【Linux】Zookeeper 部署

Zookeeper 搭建方式 单机模式:Zookeeper只运行在一台服务器上,适合测试环境伪集群模式:就是在一台物理机上运行多个Zookeeper 实例;集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算…

Java程序设计:spring boot(13)——全局异常与事务控制

1 Spring Boot 事务支持 在使⽤ Jdbc 作为数据库访问技术时,Spring Boot框架定义了基于jdbc的PlatformTransaction Manager 接⼝的实现 DataSourceTransactionManager,并在 Spring Boot 应⽤ 启动时⾃动进⾏配置。如果使⽤ jpa 的话 Spring Boot 同样提供…

00 硬件、嵌入式硬件知识-目录篇

写一下想说的话: 博主本双非、研究生顶2; 做了一两年的fpga,看到师兄师姐的offer情况,结合一下想去的城市,以及个人兴趣 自身情况等等,遂转纯硬件、嵌入式硬件。 本专栏旨在记录博主备战秋招不到一年的时间…

vue2和vue3在html中引用组件component方式不一样

我的vue版本是&#xff1a;20.17.0 一、在HTML中&#xff0c;引用组件格式区别。 vue2引用组件可以是file.vue格式&#xff0c;需要导入&#xff1a;<script src"https://unpkg.com/http-vue-loader"></script>才可以识别vue格式。 vue3引用组件格式是…

Python字典到JSON字符串的转换

在Python中&#xff0c;字典是一种非常常见的数据结构。它可以轻松地转换为JSON字符串&#xff0c;从而实现了将Python对象序列化为JSON格式的目的。本文将详细介绍如何将Python字典转换为JSON字符串。 1. Python字典的基本概念 在Python中&#xff0c;字典是一种无序的键值对…

量子容错计算

基本思想 容错量子计算的基本想法是&#xff0c;在合理编码后的量子态上直接量子计算&#xff0c;以至于不完全需要解码操作。假设有一个简单的量子电路&#xff0c;但不幸的是噪声影响着这个电路的每一个元件&#xff0c;包括量子态的制备、量子逻辑门、对输出的测量&#x…

Redis 哨兵 总结

前言 相关系列 《Redis & 目录》《Redis & 哨兵 & 源码》《Redis & 哨兵 & 总结》《Redis & 哨兵 & 问题》 参考文献 《Redis的主从复制和哨兵机制详解》《Redis中的哨兵&#xff08;Sentinel&#xff09;》《【Redis实现系列】Sentinel自动故…

怎样取消默认逐份打印

如果你遇到打印任务不完成&#xff0c;无法打印下一张的情况&#xff0c;可以尝试下面步骤解决问题&#xff1a; 取消勾选 逐份打印 1、检查打印机状态&#xff1a; 确保打印机与电脑处于联机状态&#xff0c;指示灯应常亮&#xff1b; 2、取消“逐份打印”&#xff1a; 打…

音视频如何轻松转换?来看看这四款工具:

在这个数据普及的时代&#xff0c;视频图片文字等形式的记录&#xff0c;变成了我们习以为常&#xff0c;而传统的文字往往具有搞得信息密度和更强的传播力&#xff1b;我是经常需要将视频内容转换成文&#xff0c;深有体会当下时代将视频内容转化为文字的需求越来越旺盛了&…

highcharts的datalabels标签格式化

Highcharts的数据标签格式化 代码如下 plotOptions: {series: {dataLabels: {enabled: true,format: {y:.2f} mm}} },y就是当前数据点的值&#xff0c;.2f代表2位小数&#xff0c;效果如下图

卡尔曼滤波器-Kalmen Filter-1

卡尔曼滤波器是一种最优递归数据处理算法&#xff0c;它更像是一种观测器&#xff0c;而不是一般意义上的滤波器。卡曼滤波器的应用非常广泛&#xff0c;尤其是在导航当中。它的广泛应用是因为我们生活的世界中存在着大量的不确定性&#xff0c;当我们去描述一个系统的时候&…

Python OpenCV图像复原

文章目录 一、理论背景二、去噪方法三、具体实现步骤四、模糊处理&#xff08;可选&#xff09;五、注意事项 Python OpenCV图像复原是一个涉及去除噪声、模糊等失真的过程&#xff0c;旨在恢复图像的原始质量。以下是一个详细的案例教程&#xff0c;包括理论背景和具体实现步骤…

使用docker-compose部署一个springboot项目(包含Postgres\redis\Mongo\Nginx等环境)

准备 Docker 环境 Linux # 安装 Docker curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun systemctl enable --now docker # 安装 docker-compose curl -L https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-`uname -s`-

YOLOV8 |搞懂检测头

代码: yaml结构的最后一层&#xff0c;接了前面三个层的&#xff0c;有3个检测头&#xff1a; # YOLOv8.0n head head:- [-1, 1, nn.Upsample, [None, 2, "nearest"]]- [[-1, 6], 1, Concat, [1]] # cat backbone P4- [-1, 3, C2f, [512]] # 12- [-1, 1, nn.Upsam…

池化层笔记

池化层 文章目录 池化层二维池化层超参数池化层的分类代码实现填充和步幅 多个通道 总结 卷积对位置敏感&#xff0c;可以检测垂直边缘。需要有一定程度的平移不变性&#xff0c;而在平时图片的拍摄&#xff0c;会因为图片的照明&#xff0c;物体位置&#xff0c;比例&#xff…

大数据-191 Elasticsearch - ES 集群模式 配置启动 规划调优

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…