欢迎转载,转载请注明原文地址:http://blog.csdn.net/majianfei1023/article/details/71628784
网上有很多教程,基本都是c++的,很多还解释的不够清楚,新手没办法通过文章自己实现一个完整的rpc,而且很少有python的完整教程,
所以我从头用一个完整的echo server demo来讲解protobuf rpc的基本原理。
protobuf rpc echo demo 源码:
github: https://github.com/majianfei/protobuf-rpc-echo
不了解protobuf怎么安装及protobuf的基础语法,可以网上查看教程。我就不多说了。
首先 protobuf rpc帮我们做了什么:
google protobuf只负责消息的打包和解包,并不包含RPC的实现,但其包含了RPC的定义。也不包括通讯机制。
所以我们要自己实现通讯机制。
首先我们定义:game_service.proto:
option py_generic_services = true;
message RequestMessage
{
required string msg = 1;
}
message ResponseMessage
{
required string msg = 1;
}
service IEchoService
{
rpc echo(RequestMessage) returns(ResponseMessage);
}
使用 proto --cpp_out=. game_s