| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> grpc既protocol buffers 的使用 -> 正文阅读 |
|
[Java知识库]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? 创作不易,如果觉得有用,请点赞收藏!如果有问题,欢迎留言讨论! |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 15:29:37- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |