用XMLRPC开服务进行server/client通信

               

本文讲一下如何用python的xmlrpc开服务,进行server/client的通信。

应用场景:1)需多client访问应用程序给予应答情况——网页服务;  2)数据极大,希望加载一次,后面只用方法调用

解决方案:  开两个服务,一个数据服务,一个网络服务;
    数据服务端加载数据,网络服务端调用数据,并将结果显示在网络服务中;
    外部调用网络服务返回结果;

应用工具:xmlrpc,本文中以python 2.7.3的xmlrpclib为例,其他语言也有相应接口

下面分别说明。


1. 数据端

在本地localhost的8000端口开server服务,load数据,并定义接口查找数据第i个元素(findai).

Server :

from SimpleXMLRPCServer import SimpleXMLRPCServerglobal adef load(): global a a = [1 ,2, 24return adef findai(i): globalprint a[i] return a[i]server = SimpleXMLRPCServer(("localhost", 8000))server.register_function(findai,"findai")load()server.serve_forever() 


Client:

import xmlrpclibproxy = xmlrpclib.ServerProxy("http://localhost:8000/")candidate = proxy.findai(1)print "the %d-th number of a is %d" %(1, candidate)



2. 数据端 + 网络端

Client:

import xmlrpclibproxy = xmlrpclib.ServerProxy(
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值