RPC是远程过程调用,XML-RPC是一种使用xml文本的方式利用http协议传输命令和数据的RPC机制。

Python 3.x中,我们也可以使用xmlrpc 模块编写程序,让该程序与可与其它任何语言编写的XML-RPC服务器实现远程过程调用。

服务端编写

开启一个终端,输入ipython,然后输入下面的服务端代码:

from xmlrpc.server import SimpleXMLRPCServer

server = SimpleXMLRPCServer(("localhost", 8080), allow_none=True)

上述代码创建了一个server服务端,接下来,输入:

def hello():
    print('Hello, I\'m Server.')
server.register_function(hello)

server注册一个函数hello,等待客户端调用,最后:

server.serve_forever()

运行server,令其监听在8000端口。

客户端编写

新开一个终端,输入ipython,开始编写客户端代码:

from xmlrpc.client import ServerProxy

sp = ServerProxy("http://localhost:8080")

# 调用server的hello
sp.hello()

接下来,转到server的终端,可以看到Hello, I'm Server.的输出。


以上只是抛砖引玉。

想了解xmlrpc的更多用法,可通过下面的代码:

from xmlrpc import server,client

help(server)
help(client)

注释非常详细。