这是ribbon bridge的纯python实现:rpc框架http://github.com/barobrobotics/ribbon-bridge
PyRibbonBridge的Python项目详细描述
pyribbonbridge是rpc框架ribbon bridge的纯python实现。有关
Ribbon Bridge的更多信息,请访问http://github.com/baroborobotics/Ribbon-Bridge。
要求
----
Ribbon Bridge对异步远程过程调用使用Asyncio,因此
需要Python3.5或更高版本。
在内部,它使用google协议缓冲区进行数据序列化,因此
需要protobuf-v3.0.0b2或更高版本。
使用
----
基本策略是:
1。用google protobuf设计过程调用接口。每个可调用的远程过程都由嵌套的protobuf消息表示。为了使
成为一个有效的可调用远程过程,消息必须具有名为“in”和“result”的子消息
。例如,要实现一个名为“foo”的远程过程,该过程接受一个float并返回一个整数,则
在.proto文件中有以下条目。
message foo{
message in{
float input=1;
}
消息结果{
int32 output=1;
}
}
2。使用proto从.proto文件生成python文件。创建代理对象。代理对象需要protoc生成的python
接口文件的路径和异步事件循环。
Ribbon Bridge的更多信息,请访问http://github.com/baroborobotics/Ribbon-Bridge。
要求
----
Ribbon Bridge对异步远程过程调用使用Asyncio,因此
需要Python3.5或更高版本。
在内部,它使用google协议缓冲区进行数据序列化,因此
需要protobuf-v3.0.0b2或更高版本。
使用
----
基本策略是:
1。用google protobuf设计过程调用接口。每个可调用的远程过程都由嵌套的protobuf消息表示。为了使
成为一个有效的可调用远程过程,消息必须具有名为“in”和“result”的子消息
。例如,要实现一个名为“foo”的远程过程,该过程接受一个float并返回一个整数,则
在.proto文件中有以下条目。
message foo{
message in{
float input=1;
}
消息结果{
int32 output=1;
}
}
2。使用proto从.proto文件生成python文件。创建代理对象。代理对象需要protoc生成的python
接口文件的路径和异步事件循环。