grpc既protocol buffers 的使用

前言

   之前在写一篇关于nacos源码解析的时候,有意的回避了关于底层数据传输层的解读,本文也不会深入底层做源码分析,本文意在说明grpc和proto的使用

protocol buffers的介绍

   protocol buffers 是一种灵活,高效,自动化机制的结构数据序列化方法

使用

   依赖:

        ​​​​

<dependency>
    <groupId>io.grpc</groupId>
    <artifactId>grpc-protobuf</artifactId>
    <version>${grpc.version}</version>
</dependency>

<dependency>
    <groupId>io.grpc</groupId>
    <artifactId>grpc-stub</artifactId>
    <version>${grpc.version}</version>
</dependency>

<dependency>
    <groupId>io.grpc</groupId>
    <artifactId>grpc-netty-shaded</artifactId>
    <version>${grpc.version}</version>
</dependency>

 其中grpc.version=1.47.0

添加java对.proto文件的编译器,需要在pom文件中添加如下插件:

<build>
    <extensions>
        <extension>
            <groupId>kr.motd.maven</groupId>
            <artifactId>os-maven-plugin</artifactId>
            <version>1.5.0.Final</version>
        </extension>
    </extensions>
    <plugins>
        <plugin>
            <groupId>org.xolstice.maven.plugins</groupId>
            <artifactId>protobuf-maven-plugin</artifactId>
            <version>0.5.0</version>
            <configuration>
                <protocArtifact>com.google.protobuf:protoc:${protoc.version}:exe:${os.detected.classifier}</protocArtifact>
                <pluginId>grpc-java</pluginId>
                <pluginArtifact>io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier}</pluginArtifact>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>compile</goal>
                        <goal>compile-custom</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

其中:

io.grpc.version=1.17.0      protoc.version = 3.19.2

添加完如上依赖之后,可以查看一下到如下的信息:

编写.proto文件

   本篇文章不做深入的proto语法分析,只提供简单的使用案列,部分简单注释

在src/main下创建新文件夹proto(编译器默认编译路径),然后编写.proto文件

 编写完proto文件之后,就可以使用maven的compile命令编译文件,生产.class文件,生成的class文件如下:

 grpc的使用

      服务端

                

 添加实现类,编写server服务端启动代码:

      客户端

     

以上即是grpc既proto的使用demo 

创作不易,如果觉得有用,请点赞收藏!如果有问题,欢迎留言讨论!

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Windows 上使用 Qt 和 gRPC 进行开发需要进行以下步骤: 1. 安装 gRPC:首先,你需要安装 gRPC 的 C++ 版本。你可以从 gRPC 的 GitHub 页面上下载最新版本的 gRPC。选择适用于 Windows 的预编译二进制文件并进行安装。 2. 安装 Protocol Buffers:gRPC 使用 Protocol Buffers 进行序列化和反序列化数据。你需要安装 Protocol Buffers 的编译器和库。同样,你可以从 Protocol Buffers 的 GitHub 页面上下载适用于 Windows 的预编译二进制文件并进行安装。 3. 创建 Qt 项目:使用 Qt Creator 或其他编辑器创建一个新的 Qt 项目。 4. 配置项目文件:在项目文件(例如,.pro 文件)中添加 gRPCProtocol Buffers 的相关配置。你需要添加 gRPCProtocol Buffers 的头文件和库路径。以下是一个示例的项目文件配置: ``` # 添加 gRPCProtocol Buffers 头文件路径 INCLUDEPATH += path/to/grpc/include INCLUDEPATH += path/to/protobuf/include # 添加 gRPCProtocol Buffers 库路径 LIBS += -Lpath/to/grpc/lib -lgrpc++ LIBS += -Lpath/to/protobuf/lib -lprotobuf ``` 5. 生成 gRPC 代码:使用 Protocol Buffers 的编译器生成 gRPC 的代码。在项目构建过程中,你可以添加一个自定义构建步骤使用编译器生成代码,或者手动运行编译器生成代码。 ``` protoc --grpc_out=. --cpp_out=. path/to/your/proto/file.proto ``` 这将生成包含 gRPC 服务和消息类的 C++ 代码文件。 6. 实现 gRPC 服务:根据你的需求,实现 gRPC 的服务类。在服务类中,你可以定义服务的方法和处理逻辑。 7. 使用 gRPC 客户端:在你的 Qt 项目中,实现一个 gRPC 客户端来与 gRPC 服务进行通信。你可以使用生成的 gRPC 消息类来构造请求和处理响应。 这些是使用 Qt 和 gRPC 在 Windows 上进行开发的基本步骤。记得在项目构建过程中链接 gRPCProtocol Buffers 的库文件。详细的实现步骤会根据你的具体需求和项目结构而有所不同。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值