在 c++ 项目中使用 grpc —— 无管理员权限

注1:参考代码取自 grpc 源码目录下的 examples\cpp\helloworld

注2:操作系统 CentOS 7.6

 

1. 安装 protoc 工具

  • 下载 Grpc_v1.43.0_SetupFile.zip 文件,解压到任意目录
    下载链接:https://pan.baidu.com/s/1HYjfQb8CQY56QF2iAGmBNw 
    提取码:grg0
    注:Grpc_v1.43.0_SetupFile.zip 可由 grpc 源码编译安装得到,编译比较吃电脑配置,直接下载编译好的文件即可。

  • 将解压后的 Grpc_v1.43.0_SetupFile/bin 中 的 protoc(文本文件,记录了版本信息)重命名为 protoc.version,然后将 protoc-3.18.1.0(可执行程序)拷贝一下并重命名为 protoc
    注:原 protoc-3.18.1.0 文件也是需要用的,不能直接重命名。
     

2. 通过 protoc 生成 c++ 代码

  • 任意目录下新建空文件夹 grpc_cpp_demo,在文件夹中创建 helloworld.proto 文件,示例如下:
    在 c++ 项目中使用 grpc —— 无管理员权限View Code

     

  • 生成 Protobuf 消息 和 grpc 客户端和服务器
    在 grpc_cpp_demo 目录下打开终端,执行如下命令:
    export MY_INSTALL_DIR=/home/zgd123/Projects/Grpc_v1.43.0_SetupFile 
    export PATH="$MY_INSTALL_DIR/bin:$PATH"

    protoc --cpp_out=./ helloworld.proto
    protoc --grpc_out=./ --plugin=protoc-gen-grpc=$MY_INSTALL_DIR/bin/grpc_cpp_plugin helloworld.proto

     

3. 编写客户端/服务器实现自定义业务逻辑

  • 在 目录 grpc_cpp_demo 下,新建文件 greeter_server.cc 来编写服务器端相关代码,示例文件如下:
    在 c++ 项目中使用 grpc —— 无管理员权限View Code

     

  • 在 目录 grpc_cpp_demo 下,新建文件 greeter_client.cc 来编写客户端相关代码,示例文件如下:
    在 c++ 项目中使用 grpc —— 无管理员权限View Code

      

4. 通过 CMake 编译项目

  • 在 目录 grpc_cpp_demo 下,新建文件 CMakeLists.txt 来编写 CMake 编译指令,示例文件如下:
    在 c++ 项目中使用 grpc —— 无管理员权限View Code

     

  • 在目录 grpc_cpp_demo 下,打开终端,执行如下命令:
    mkdir -p cmake/build
    pushd cmake/build
    cmake  ../..
    make -j
    popd

     

5. 运行项目

  • 在目录 grpc_cpp_demo/cmake/build 打开 2 个终端,分别运行如下命令
    ./greeter_server
    ./greeter_client 
  • 终端输出如下:
    Server listening on 0.0.0.0:50051
    Greeter received: Hello world

     


     

 

  

 

上一篇:Dijkstra求最短路 (堆优化版)


下一篇:VIM3开发(4)项目应用