grpc安装和入门使用:https://grpc.io/docs/languages/cpp/quickstart/
出现错误:Failed to recurse into submodule path
解决方法:进入grpc目录,执行git submodule update --init --recursive,运行这个命令直到没有出现上面的那个错误,如果一直出现上面的那个错误,代码网络的问题,网络被qiang了。
- server中定义函数,client通过stub远程访问server中定义的函数。
- 使用grpc可以实现跨语言调用
- gRPC使用特殊的protoc插件去proto文件生成代码【什么插件??】
- protobuf官方教程
- 本节以 examples/cpp/route_guide为例进行介绍,此例子功能是:客户端发送请求,服务器端响应请求,给客户端返回数据。请求和响应可能都是stream类型的(下面有介绍stream是什么)。
- gRPC 允许您定义四种服务方法。service中定义的参数和返回值都有可能是stream类型的,如
rpc ListFeatures(Rectangle) returns (stream Feature) {}
其中stream就是代表可能返回很多个Feature类型的数据,而rpc GetFeature(Point) returns (Feature) {}
只返回一个Feature类型的数据。 - 看到Generating client and server code
基本使用:https://doc.oschina.net/grpc?t=57966
RouteGuide为proto文件中的一个service,名为 RouteGuide 的类,包含
- 为了客户端去调用定义在 RouteGuide 服务的远程接口类型(或者 存根 )【客户端调用接口】
- 让服务器去实现的两个抽象接口,同时包括定义在 RouteGuide 中的方法【服务器端实现接口】