Python的XML-RPC

Python提供的XMLRPC的解决方案用法很简单:

首先,就好像在编写普通的程序那样子编写服务器将要运行的服务

然后,使用SimpleXMLRPCServer模块创建XMLRPC服务器,在其中注册服务器将提供的函数或者对象(即上一步所写的那些服务)。

最后,在客户端内使用xmlrpclib.ServerProxy连接到服务器,想要调用服务器的函数,直接调用ServerProxy即可

#helloserver.py

from SimpleXMLRPCServer import SimpleXMLRPCServer

def hello():
    print "hello,world!"

svr=SimpleXMLRPCServer(("", 8080), allow_none=True)
svr.register_function(hello)
svr.serve_forever()

 

#helloclient.py

from xmlrpclib import ServerProxy
svr=ServerProxy("http://localhost:8080")
svr.hello()

 

美中不足的是,SimpleXMLRPCServer是一个单线程的服务器。这意味着,如果几个客户端同时发出多个请求,其它的请求就必须等待第一个请求完成以后才 能继续。通过多线程可以解决这个问题:

#helloserver.py def hello():
    print "hello,world!"

from
SimpleXMLRPCServer import SimpleXMLRPCServer from SocketServer import ThreadingMixIn class ThreadXMLRPCServer(ThreadingMixIn, SimpleXMLRPCServer):

  pass
svr=ThreadXMLRPCServer(("", 8080), allow_none=True)

svr.register_function(hello)
svr.serve_forever()

 

转载于:https://www.cnblogs.com/LegendOfBFS/p/5394405.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值