RPC python
来源:互联网 发布:2017网络电影 编辑:程序博客网 时间:2024/06/03 09:12
转载,记载以下
一、SimpleXMLRPCServer
SimpleXMLRPCServer :python 自 带的一个 RPC 库;
RPC的传输协议:UDP、TCP、HTTP、XXXP;
RPC的数据 协议有xml、json、各种私有二 进制协议(hessian amf3 … . )。 大公司的 google 的protocolbuffer,facebook的thrift 。
1.1 一个最 简单的 RPC 服 务器端
from SimpleXMLRPCServer import SimpleXMLRPCServer
def add(a , b):
return a+b
server = SimpleXMLRPCServer(("localhost", 8000))
server.register_function(add)
server.serve_forever()
测试客户端
from xmlrpclib import ServerProxy
server = ServerProxy("http://localhost:8000")
try:
ret = server.add(30,90)
print 'result:', ret
print 'result type:', type(ret)
except Exception as ex:
print "exception", ex
1.2 服 务器客户端都干了什么?
1 从客 户端打印出通讯的数据:
发向服务器的:
POST /RPC2 HTTP/1.0
Host: localhost:8000
User-Agent: xmlrpclib.py/1.0.1 (by www.pythonware.com )
Content-Type: text/xml
Content-Length: 189
<?xml version='1.0'?>
<methodCall>
<methodName>add</methodName>
<params>
<param><value><int>30</int></value></param>
<param><value><int>90</int></value></param>
</params>
</methodCall>
2 服 务器返回的数据:
HTTP/1.0 200 OK'
Server: BaseHTTP/0.3 Python/2.6.1
Date: Mon, 20 Jul 2009 05:33:09 GMT
Content-type: text/xml
Content-length: 123
<?xml version='1.0'?>
<methodResponse>
<params><param><value><int>120</int></value></param></params>
</methodResponse>
特点: http 协议传输协议, xml 做数据 协议应用协议。
因 为 http 只作 为传输协议 所以只使用了 post 方法。
引用自:http://hi.baidu.com/daochayijiao/item/79ef7ff4edf0a525753c4ce3
二、rfoo 在网上看到的python rpc调用包,听说不错,记录一下.
rfoo 是一个 Python 的 RPC 远程过程调用包,可在一台普通的PC上每秒钟执行超过13000次远程方法调用,包含一个性能非常高的 rfoo.marsh 的对象序列化库,rfoo 需要 Cython 的支持。
啊里云上安装过程如下:
1、yum install gcc python-devel python-setuptools;
2、easy_install Cython;
3、下载rfoo源文件解压后执行(1)python setup.py install (2)python setup.py build_ext --inplace。
- RPC python
- Python RPC 之 xml-rpc
- python zeromq rpc介紹
- Python XML-RPC
- python rpc讲解
- python 实现 RPC 通信
- python rpc client demo
- Python RPC 之 gRPC
- Python RPC 之 Thrift
- Python中的 XML-RPC
- Python XML-RPC入门
- RPC协议及其python实例
- python系列之 RabbitMQ - RPC
- python实现rpc远程调用
- python访问coind rpc使用python-jsonrpc
- 尝试Python的XML-RPC远程调用
- python 多线程 XML RPC的实现
- python多线程XML-RPC的实现
- 彻底搞懂四元数
- Android开源项目SlidingMenu深入剖析
- [寒江孤叶丶的Cocos2d-x之旅_11]Cocos2d-x的重力感应Demo。如何使用重力感应。
- 邻接表实现图的储存,遍历
- 在vs2010中,根据已有代码和第三方静态库创建项目
- RPC python
- c++基础学习9-c++中的操作符重载
- linux上ln命令详细说明
- HDOJ 题目4508湫湫系列故事——减肥记I(完全背包)
- 虎嗅9.2
- Android:Layout_weight的深刻理解
- 利用poi对dotx指定字符进行替换
- leetcode: Divide Two Integers
- C/C++