RPC: 使用xml-xpc实现进程间的rpc调用试验和结论
来源:互联网 发布:甜甜圈拷机软件 编辑:程序博客网 时间:2024/04/28 03:54
1、先说结论:使用xml-rpc的机制可以很方便的实现服务器间的RPC调用。
2、试验结果如下:
3、源码如下:
服务器端源码如下:
import operator, mathfrom SimpleXMLRPCServer import SimpleXMLRPCServerfrom functools import reducedef main():server = SimpleXMLRPCServer(('127.0.0.1', 7001))server.register_introspection_functions()server.register_multicall_functions()server.register_function(addtogether)server.register_function(quadratic)server.register_function(remote_repr)print("Server ready")server.serve_forever()def addtogether(*things):"""Add together everything in the list things ."""return reduce(operator.add, things)def quadratic(a, b, c):"""Determine x values satisfying: a * x * x + b * x + c = 0"""b24ac = math.sqrt(b*b - 4.0*a*c)return list(set([(-b-b24ac) / 2.0*a, (-b+b24ac) / 2.0*a]))def remote_repr(arg):"""return the repr() rendering of the supplied arg """return argif __name__ == '__main__':main()
客户端的代码如下:
import xmlrpclibdef main():proxy = xmlrpclib.ServerProxy('http://127.0.0.1:7001')print("Here are the functions supported by this server:")print("next calculator addtogether: ")print(proxy.addtogether('x','y','z'))print(proxy.addtogether('x','y','z'))print(proxy.addtogether('x','y','z'))print(proxy.addtogether('x','y','z'))for method_name in proxy.system.listMethods():if method_name.startswith('system.'):continuesignatures = proxy.system.methodSignature(method_name)if isinstance(signatures, list) and signatures:for signature in signatures:print('%s(%s)' %(method_name, signature))else:print('%s(...)' %(method_name,))method_help = proxy.system.methodHelp(method_name)#if method_help:#print(' ', methodHelp)print(proxy.addtogether('x','y','z'))print("addtogether result ")if __name__ == '__main__':main()
阅读全文
0 0
- RPC: 使用xml-xpc实现进程间的rpc调用试验和结论
- 搭建OE环境(实现xml-rpc和net-rpc的双进程访问)
- 使用hadoop RPC实现RPC调用
- 使用 xml-rpc 远程调用
- 使用Mina实现RPC调用
- XML-RPC 的 Apache 实现
- XML-RPC的java实现
- XML-RPC 的 Apache 实现
- XML-RPC 的 Apache 实现
- PHP XML-RPC 的使用
- PHP XML-RPC 的使用
- webserver的 xml rpc使用
- 使用XML RPC进行远程调用
- 使用XML RPC进行远程调用
- xml-rpc远程调用
- 尝试Python的XML-RPC远程调用
- Android使用XML-RPC实现blog客户端
- Dubbo实现RPC调用使用入门
- 简单的推箱子游戏的实现
- Maven 学习(一)
- Maven 学习(二)
- 使用Gradle构建SpringBoot工程系列:第一篇:Gradle及SpringBoot简介
- 将博客搬至CSDN
- RPC: 使用xml-xpc实现进程间的rpc调用试验和结论
- hdu 1010 Tempter of the Bone
- Maven 学习(三)
- 常见软件单元测试工具
- 编译 starlab 的方法
- java学习(3)concurrenthashmap hashtable hashmap copyonwritearraylist weakHashMap待续
- Maven 学习(四)
- express4.x版本 安装 及 handlebars安装
- Python 易错点