以下使用的是py3代码,py2可能引用方式不一样
服务器端server.py
# -*- coding: utf-8 -*-
from xmlrpc.server import SimpleXMLRPCServer
def file_read(filename):
with open(filename, "r") as f:
return f.read()
server = SimpleXMLRPCServer(("localhost", 8000)) # 实例化服务
server.register_function(file_read) # 注册函数
server.serve_forever() # 启动服务
要读取的文件 demo.txt
关雎
先秦:佚名
关关雎鸠,在河之洲。窈窕淑女,君子好逑。
参差荇菜,左右流之。窈窕淑女,寤寐求之。
求之不得,寤寐思服。悠哉悠哉,辗转反侧。
参差荇菜,左右采之。窈窕淑女,琴瑟友之。
参差荇菜,左右芼之。窈窕淑女,钟鼓乐之。
客户端
client.py
# -*- coding: utf-8 -*-
from xmlrpc.client import ServerProxy
server = ServerProxy("http://localhost:8000") # 连接服务
text = server.file_read("demo.txt") # 调用服务器端函数
print(text)
必要说明
功能函数注册方法SimpleXMLRPCServer.register_function(function[, name])注册实例SimpleXMLRPCServer.register_instance(instance[, allow_dotted_names])注册反函数SimpleXMLRPCServer.register_introspection_functions()注册复合函数SimpleXMLRPCServer.register_multicall_functions()参考
- 如何用五点教会你Python高效编程
- Python中关于XML-RPC原理
- python使用SimpleXMLRPCServer实现简单的rpc