跳转到主要内容

使用msgpack和gevent编写的TCP & HTTP RPC服务器

项目描述

GreenRPC
========

使用[msgpack](http://msgpack.org/)和[gevent](http://www.gevent.org/)编写的TCP & HTTP RPC服务器


## 安装
### pip

```bash
pip install greenrpc
```

### git
```bash
git clone git://github.com/brettlangdon/greenrpc.git
cd ./greenrpc
python setup.py install
```


## 使用
### 服务器
```bash
$ greenrpc-server -h
用法: greenrpc-server [-h] [--bind BIND] [--spawn SPAWN] [--http] <module> [<module> ...]

启动一个新的GreenRPC TCP服务器

位置参数
<module> 要公开的Python模块以供RPC服务器使用

可选参数
-h, --help 显示此帮助信息并退出
--bind BIND <address>:<port> 服务器要绑定到的地址:端口 (默认: 127.0.0.1:3434)
--spawn SPAWN 要生成的greenlets数量 (默认: 4)
--http 是否启动http服务器而不是tcp (默认: False)
```

将python模块[time](https://docs.pythonlang.cn/2/library/time.html)公开为RPC服务器

```
$ greenrpc-server time
```

公开多个模块
```
$ greenrpc-server time json
```

### 命令行客户端
```bash
$ greenrpc-client -h
用法: greenrpc-client [-h] [--connect CONNECT] [--debug] [--http] <method> [<arg> [<arg> ...]]

启动一个新的GreenRPC TCP服务器

位置参数
<method> 要调用的远程方法
<arg> 发送给远程方法调用的参数

可选参数
-h, --help 显示此帮助信息并退出
--connect CONNECT <address>:<port> 要连接的服务器地址:端口(default: 127.0.0.1:3434)
--debug 是否显示完整结果
--http 服务器是http还是tcp
```

```
$ greenrpc-client time
1414368752.71
$ greenrpc-client --debug time
{'results': 1414368766.407974, 'run_time': 0.0059604644775390625, 'id': 1}
```

### Python客户端
```python
from greenrpc.client import TCPClient

client = TCPClient()
print client.time()
# 1414368818.587777
print client.call("time")
# 1414368830.217749
打印客户端调用结果:client.call("time", debug=True)
# {'results': 1414368849.379209, 'run_time': 0.008106231689453125, 'id': 3}
```


## 许可证
```
MIT许可证(MIT)

版权所有(c)2014 Brett Langdon

任何人可以免费获得本软件及其相关文档文件(“软件”)的副本,并有权在不限制的情况下使用该软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,并允许向提供软件的个人做上述事情,前提是遵守以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,不提供任何形式的保证,无论是明示的还是隐含的,包括但不限于适销性、适用于特定目的和无侵权性的保证。在任何情况下,作者或版权所有者不应对任何索赔、损害或其他责任负责,无论是基于合同、侵权或其他原因,无论是源于、出于或与软件或软件的使用或其他方式相关。
软件的任何使用或再分发,无论是否修改,均受以下条件的约束:
软件按“原样”提供,不提供任何形式的保证,无论是明示的还是隐含的,包括但不限于适销性、适用于特定目的和无侵权性的保证。在任何情况下,作者或版权所有者不应对任何索赔、损害或其他责任负责,无论是基于合同、侵权或其他原因,无论是源于、出于或与软件或软件的使用或其他方式相关。
软件的任何使用或再分发,无论是否修改,均受以下条件的约束:

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,不提供任何形式的保证,无论是明示的还是隐含的,包括但不限于适销性、适用于特定目的和无侵权性的保证。在任何情况下,作者或版权所有者不应对任何索赔、损害或其他责任负责,无论是基于合同、侵权或其他原因,无论是源于、出于或与软件或软件的使用或其他方式相关。

软件的任何使用或再分发,无论是否修改,均受以下条件的约束:
软件按“原样”提供,不提供任何形式的保证,无论是明示的还是隐含的,包括但不限于适销性、适用于特定目的和无侵权性的保证。在任何情况下,作者或版权所有者不应对任何索赔、损害或其他责任负责,无论是基于合同、侵权或其他原因,无论是源于、出于或与软件或软件的使用或其他方式相关。
软件的任何使用或再分发,无论是否修改,均受以下条件的约束:
软件按“原样”提供,不提供任何形式的保证,无论是明示的还是隐含的,包括但不限于适销性、适用于特定目的和无侵权性的保证。在任何情况下,作者或版权所有者不应对任何索赔、损害或其他责任负责,无论是基于合同、侵权或其他原因,无论是源于、出于或与软件或软件的使用或其他方式相关。
软件的任何使用或再分发,无论是否修改,均受以下条件的约束:
软件按“原样”提供,不提供任何形式的保证,无论是明示的还是隐含的,包括但不限于适销性、适用于特定目的和无侵权性的保证。在任何情况下,作者或版权所有者不应对任何索赔、损害或其他责任负责,无论是基于合同、侵权或其他原因,无论是源于、出于或与软件或软件的使用或其他方式相关。
软件的任何使用或再分发,无论是否修改,均受以下条件的约束:
```

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

greenrpc-0.1.4.tar.gz (5.5 kB 查看散列)

上传时间:

由以下机构支持