一、简介
为了解决在系统的80端口提供RPC的服务,而又不影响正在执行的WEB服务,人们想出了用HTTP协议传输RPC包的办法。对于几乎是专门用于传输文本的HTTP协议,要在其上传输RPC封包,最方便的方法莫过于把RPC封包编码成文本形式——例如XML文件。
XML- RPC(http://www.xml-rpc.com)是由美国UserLand公司指定的一个RPC协议。它将RPC信息封包编码为XML,然后通过 HTTP传输封包;
简单的理解:
将数据定义为xml格式,通过http协议进行远程传输。
二、好处
1. 传输复杂的数据。
2. 通过程序语言的封装,实现远程对象的调用。
三、Python中xmlrpc应用
服务端:
import
SimpleXMLRPCServer
class
MyObject:
def
sayHello(self):
return
"
hello xmlprc
"
obj
=
MyObject()
server
=
SimpleXMLRPCServer.SimpleXMLRPCServer((
"
localhost
"
,
80
))
server.register_instance(obj)
print
"
Listening on port 80
"
server.serve_forever()
客户端:
import
xmlrpclib
server
=
xmlrpclib.ServerProxy(
"
http://localhost:80
"
)
words
=
server.sayHello()
print
"
result:
"
+
words