phprpc是非常好用的一个远程调用方案.以前曾经在dotnet中简单使用过.最近看了看python,发现phprpc也支持!
准备用在生产环境中.先测试下.把过程记录下来.
1.下载安装python2.52,高效稳定的版本.
2.下载安装phprpc:http://www.phprpc.org/zh_CN/download
3.下载安装flup,我先使用了flup在python主页上的版本,竟然没有flup.middleware.session,flup.middleware.gzip.
而flup的老家竟然不能访问! google,发现了svn!
直接用 svn co http://svn.saddi.com/flup/ 下载到本地,然后setup.py install
4.就用官方网站代码测试:
服务器端:
from flup.middleware.session import MemorySessionStore, SessionMiddleware
from flup.middleware.gzip import GzipMiddleware
from phprpc import PHPRPC_WSGIApplication, UrlMapMiddleware, PHPRPC_Server
import datetime
def helloworld():
return 'helloworld'
def hi(name):
return 'hi %s' % name
app = PHPRPC_WSGIApplication()
app.add(helloworld)
app.add('hi')
app.add(hi, 'hello')
app.add(datetime.datetime.now)
app.debug = True
app = UrlMapMiddleware([('/', app)])
sessionStore = MemorySessionStore()
app = SessionMiddleware(sessionStore, app)
app = GzipMiddleware(app)
PHPRPC_Server(app = app).start()
客户端:
#coding=cp936
from phprpc import PHPRPC_Client
import phpformat
#import datetime
client = PHPRPC_Client('http://127.0.0.1:80/')
client.keylength = 256 # 加密长度
client.encryptmode = 2 # 双向加密
print client.helloworld()
print client.hi("ideage")
输出:
D:\MyApps\phprpc>phrcc.py
helloworld
hi ideage
测试成功!感谢大家........
期待Eurasia支持wsgi.....