C++实现grpc异步服务器

首先可以跑一下grpc官方的例子,网址: https://grpc.io/docs/languages/cpp/quickstart/

一、下载grpc包并编译

https://github.com/grpc/grpc 在编译grpc之前需要下载protobuf、abseil、re2、zlib等,放到grpc的相关目录下, 然后可以写个脚本编译grpc库,如下:

#!/bin/bash
grpcdir="${pwd}"

cd grpc/camke
mkdir build && cd build

cmake -LH -DCMAKE_INSTALL_PREFIX=$grpcdir/ver ../..
make -j4 && make install

编译之后grpc相关的lib库都已经编好在ver/lib或者lib64下,并且在bin目录下会生成protoc和grpc_cpp_plugin,供后续编译protobuf文件使用。

二、定义protobuf文件,并进行编译

1、定义rsp的Result.proto

syntax = "proto3";

import "google/protobuf/any.proto";
option java_package = "com.aaa.proto.base";
option java_outer_classname="ResultProto";
package base;

message Result {
    int32 code = 1;
    string msg = 2;
    google.protobuf.Any data = 3;
}

2、定义Req服务的 hell

经验分享 程序员 微信小程序 职场和发展