python 实现简单的RPC服务器

一、简介

  RPC是Remote Procedure Call的缩写,翻译成中文为:远程方法调用。

它是一种在本地机器上调用远端机器上的一个过程(方法)的技术,这个过程也被大家称为“分布式计算”,是为了提高各个分立机器的“互操作性”而发明出来的技术。

  XML-RPC的全称是XML Remote Procedure Call,即XML远程方法调用。

它是一套允许运行在不同操作系统、不同环境的程序实现基于Internet过程调用的规范和一系列的实现。这种远程过程调用使用http作为传输协议,XML作为传送信息的编码格式。Xml-Rpc的定义尽可能的保持了简单,但同时能够传送、处理、返回复杂的数据结构。XML- RPC(http://www.xmlrpc.com)是由美国UserLand公司指定的一个RPC协议。简单的理解是:将数据定义为xml格式,通过http协议进行远程传输。

 

二、优点

1. 传输复杂的数据。

2. 通过程序语言的封装,实现远程对象的调用。


三、Python下的XML-RPC

1. 类库:SimpleXMLRPCServer

  一般使用在服务器端,这个模块用来构造一个最基本的XML-RPC服务器框架。

2. 类库:xmlrpclib

  一般使用在客户端,这个模块用来调用注册在XML-RPC服务器端的函数,xmlrpclib并不是一个类型安全的模块,无法抵御恶意构造的数据,这方面的一些处理工作需要交给开发者自己

 

四、简单的示例

server端:

复制代码
from SimpleXMLRPCServer import SimpleXMLRPCServer


# 注册API
def start(params=None):
print(params) resp
= 'Hello World'return resp # 绑定 s = SimpleXMLRPCServer((host, port), encoding='utf-8') # 注册 s.register_function(start) # 开始监听 s.serve_forever()
复制代码

客户端:

复制代码
import xmlrpclib


s = xmlrpclib.ServerProxy('http://11.238.144.84:9090')
# 传参 
resp = s.start(params)
# 不传参
resp = s.start()
print(resp)
复制代码

 

如果还想深入了解: 点击跳转

 

posted @   萤huo虫  阅读(511)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示