# grpc-demo **Repository Path**: wjrsoft/grpc-demo ## Basic Information - **Project Name**: grpc-demo - **Description**: 容易上手的GrpcDemo,包含grpc流式/非流式,双向流式,自动重连的代码例子 - **Primary Language**: Java - **License**: Unlicense - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2022-10-16 - **Last Updated**: 2024-01-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: Grpc ## README # grpc-demo 轻松上手代码例子 #### 介绍 ##### 一:通过代码例子详细介绍,grpc这四种请求方式 * 1.客户端非流式,服务端非流式(客户端发送一次消息,服务端接收一次消息。服务端可响应一条消息,客户端接收一次响应消息) * 2.客户端非流式,服务端流式请求(客户端发送一次,服务端接收一次消息。 服务端可响应多条消息onNext,当服务端onCompleted时,客户端在迭代器一次收到多条响应消息) * 3.客户端流式,服务端非流式(客户端发送多次onNext,服务器接收多次消息。服务端可响应一条消息,客户端接收一次响应消息) * 4.客户端流式,服务端流式(客户端发送多次onNext,服务器接收多次消息onNext。客户端和服务端都无需onCompleted,服务端响应多条消息onNext,客户端接收多次响应消息) * 5.双流式,重连直至成功 ##### 二:程序文件类介绍 * person.proto grpc文件,通过maven插件可以生成grpc的代码。如果有更新proto文件,则maven compile就可以自动生成 * 自定义服务实现类PersonServiceImpl继承PersonServiceGrpc.PersonServiceImplBase类,重写方法,重写的目的是实现自己的业务逻辑,例如打印接收消息,响应消息 * GrpcServer.java执行main方法,启动服务端,启动服务端需要添加我们自己定义重写好的PersonServiceImpl类 * GrpcClient.java执行main方法,启动客户端,发送消息,处理消息 * com.person.server.grpcjava,这包下的文件是maven compile时自动生成进来的,如果person.proto有更新,需要重新maven compile * 只需要关注person.proto文件和GrpcServer.java、GrpcClient.java。 #### 软件架构 软件架构说明 #### 安装教程 1. maven clean ,maven compile 2. GrpcServer.java执行main方法,启动服务端 3. GrpcClient.java执行main方法,客户端请求服务端 4. PersonServiceImpl继承PersonServiceGrpc.PersonServiceImplBase类,重写方法,重写的目的是实现自己的业务逻辑 #### 使用说明 1. GrpcServer.java执行main方法 2. GrpcClient.java执行main方法 #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)