生成客户端和服务端代码
接下来,我们需要从 .proto
服务定义文件中生成 gRPC 客户端和服务端接口。我们使用 protocol buffer 编译器 protoc
以及一个 gRPC C++ 插件来生成文件。
在 examples/cpp/route_guide/cmake/build
目录中,运行以下命令:
make route_guide.grpc.pb.o
该命令其中包含了如下操作:
protoc -I ../../protos --grpc_out=. --plugin=protoc-gen-grpc=`which grpc_cpp_plugin` ../../protos/route_guide.proto
protoc -I ../../protos --cpp_out=. ../../protos/route_guide.proto
运行此命令将在当前目录中生成以下文件:
route_guide.pb.h
,声明所有生成的 message 类的头文件。route_guide.pb.cc
,包含所有 message 类的实现。route_guide_grpc.pb.h
,声明生成的服务类的头文件。route_guide_grpc.pb.cc
,包含服务类的实现。
这些包含:
- 所有 protocol buffer 代码,用于填充、序列化、获取请求和响应类型数据。
- 一个叫做
RouteGuide
的类,其中包含以下内容:- 一个用于客户端调用
RouteGuide
服务中定义方法的接口类型(或存根)。 - 两个用于服务端实现
RouteGuide
服务中定义的方法的抽象接口。
- 一个用于客户端调用
Loading...
> 此处输出代码运行结果