软硬件环境
Python
hprose
xmlrpc
什么是RPC
远程过程调用(Remote Procedure Call)是一个计算机通信协议,它允许运行于一台计算机的程序调用另一台计算机的程序,就像调用本地程序一样简单方便。
python中rpc的实现
xmlrpc示例
xmlrpc是python3中的自带模块,可以很方便的实现rpc通讯
server.py
1# -*- coding: utf-8 -*- 2 3from xmlrpc.server import SimpleXMLRPCServer 4 5def test(): 6 print("rpc test.") 7 8if __name__ == '__main__': 9 server = SimpleXMLRPCServer(("127.0.0.1", 8889), allow_none=True)10 server.register_function(test)11 server.serve_forever()
client.py
1# -*- coding: utf-8 -*-23if __name__ == '__main__':4 client = ServerProxy("http://127.0.0.1:8889")5 print(client.test())
hprose示例
hprose是国人写的一个rpc框架,它支持多种编程语言,如python、php等,也可以实现基于不同语言的rpc通讯,比如php调用python。
server.py
1#!/usr/bin/env python 2# encoding: utf-8 3 4import hprose 5 6def getAppVersion(): 7 return "1.0.1" 8 9if __name__ == '__main__':10 server = hprose.HttpServer(port = 8889)11 server.addFunction(getAppVersion)12 server.start()
client.py
1#!/usr/bin/env python 2# encoding: utf-8 3 4import hprose 5 6def main(): 7 client = hprose.HttpClient('http://127.0.0.1:8889/') 8 print(client.getAppVersion()) 910if __name__ == '__main__':11 main()
参考资料
https://github.com/hprose/hprose-python
本文分享自微信公众号 - 迷途小书童的Note(Dev_Club)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。