时间:2021-05-23
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 arg if __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.'): continue signatures = 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()以上这篇使用XML库的方式,实现RPC通信的方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
它可以使PHP与下述技术无缝通信:(1)Flash和FlexRemoting(2)JavaScriptJSON和AjaxJSON(3)XML和XML-RPC什么
前言如果在WPF需要用多进程通信,一个推荐的方法是WCF,因为WCF是RPC计算。先来讲下RPC(RemoteProcedureCall)远程过程调用,他是通过
一、概述:目前进行WebService通信有两种协议标准,一种是XML-RPC,另外一种是SOAP。XML-RPC比较简单,出现时间比较早,SOAP比较复杂,主
四、基于XML_RPC的Web服务利用XML_RPC构造和使用服务是很方便的。企业为自己提供的各种服务部署XML_RPC服务器,用户、客户软件和客户企业就可以使
未来的Web将是以服务为中心的Web,XML_RPC标准使得编写和应用服务变得非常简单。本文介绍XML_RPC标准及其PHP实现,并通过实例示范了如何在PHP中