一、简介
为了解决在系统的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()
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
server = xmlrpclib.ServerProxy("http://localhost:80")
words = server.sayHello()
print "result:" + words
本文转自CoderZh博客园博客,原文链接:http://www.cnblogs.com/coderzh/archive/2008/12/03/1346994.html,如需转载请自行联系原作者