gRPC实现C++ RPC通信需三步:定义.proto接口、用protoc生成C++代码(含消息类和Stub/Service)、在服务端继承Service实现方法、客户端调用Stub。

用gRPC实现C++的RPC通信,核心是三步:写好.proto接口定义、用protoc生成C++代码、在客户端和服务端分别实现Stub调用和Service逻辑。Protobuf负责数据序列化,gRPC负责网络传输和调用调度。
1. 定义服务接口(.proto文件)
先创建helloworld.proto,声明服务方法和消息结构:
syntax = "proto3";
<p>package helloworld;</p><p>// 请求和响应消息
message HelloRequest {
string name = 1;
}</p><p>message HelloReply {
string message = 1;
}</p><p>// RPC服务
service Greeter {
rpc SayHello(HelloRequest) returns (HelloReply) {}
}登录后复制
注意:syntax = "proto3"是必须的;package影响生成的C++命名空间;每个字段要有唯一数字标签。
立即学习“C++免费学习笔记(深入)”;
2. 生成C++代码
安装gRPC和protobuf后,运行以下命令生成头文件和源码:
protoc -I . --cpp_out=. --grpc_out=. --plugin=protoc-gen-grpc=`which grpc_cpp_plugin` helloworld.proto
登录后复制
会生成两个文件:
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~