简介
本文主要讲述如何在Windows环境下使用visual studio配置grpc,并且实现grpc通信的例子。前文windows配置和编译grpc已经介绍了如何在windows环境配置grpc,接下来我们利用之前编译好的库配置到项目中,并实现grpc通信。
项目配置
我们为了方便配置,将之前下载和编译好的项目放在D盘cppsoft文件夹下,路径为D:\cppsoft\grpc。

接下来我们创建一个项目,名字叫Grpc-Server,在项目的根目录下创建一个proto名字为demo.proto
1 | syntax = "proto3"; |
接下来我们利用grpc编译后生成的proc.exe生成proto的头文件和源文件
1 | D:\cppsoft\grpc\visualpro\third_party\protobuf\Debug\protoc.exe -I="." --grpc_out="." --plugin=protoc-gen-grpc="D:\cppsoft\grpc\visualpro\Debug\grpc_cpp_plugin.exe" "demo.proto" |
上述命令会生成demo.grpc.pb.h和demo.grpc.pb.cc文件。
D:\cppsoft\grpc\visualpro\third_party\protobuf\Debug\protoc.exe 表示protoc.exe所在的路径,你可以将其放在指定目录并配置环境变量,直接使用protoc.exe就行了。
-I="." 指定 demo.proto所在的路径为当前路径。
--grpc_out="." 表示生成的pb.h和pb.cc文件的输出目录。
--plugin=protoc-gen-grpc="D:\cppsoft\grpc\visualpro\Debug\grpc_cpp_plugin.exe"表示要使用的插件为cpp插件,也就是生成cpp类的头文件和源文件。
接下来我们生成grpc类需要的pb文件,因为要序列化数据。
1 | D:\cppsoft\grpc\visualpro\third_party\protobuf\Debug\protoc.exe --cpp_out=. "demo.proto" |
上述命令会生成demo.pb.h和demo.pb.cc文件。
接下来我们在项目中配置grpc库的包含目录和库目录。
为了方便调试,我们配置debug版本

项目属性中选择C++下的常规选项,在附加包含目录中添加我们grpc生成debug库

这里列举下要包含的目录
1 | D:\workspace\github\grpc\third_party\re2 |
接下来配置库路径, 在链接器常规选项下,点击附加库目录,添加我们需要的库目录。

同样,我们配置的是debug版本

要配置的库目录很多,这里详细列举一下
1 | D:\cppsoft\grpc\visualpro\third_party\re2\Debug |
另外,我们虽然配置了库目录,但还要将要使用的库链接到项目
在链接器输入选项下,点击附加依赖项添加依赖的库名字

库配置

库名字列举如下
1 | libprotobufd.lib |
grpc服务器
接下来我们写代码,实现grpc服务器
1 |
|
GreeterServiceImpl 继承自 Greeter::Service,重写了SayHello函数,当收到客户端发送的SayHello请求后执行重写函数功能的逻辑。
grpc客户端
grpc客户端比较简单,直接调用发送接口发送数据即可
1 |
|
客户端创建了一个channel,然后调用NewStub生成stub,接下来就可以发送数据了,下面是运行的效果

总结
本文介绍了grpc在windows环境下的配置和使用