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)
注释非常详细。