开始食用grpc(之二)

 转载请注明出处:

 1 syntax = "proto3";  2  3 option java_multiple_files = true;  4 option java_package = "com.funnyzpc.XXX.grpc.lib.multiStream";  5 //定义一个服务 6 service MultiStreamService{  7     rpc queryStream (stream MultiStreamReq) returns (stream MultiStreamResp) {  8  9     } 10 11 } 12 //定义一个请求体(用于传参)13 message MultiStreamReq{ 14     int32 page_no=1; 15     int32 page_size=2; 16     MultiStreamDataReq data=3; 17 } 18 19 message MultiStreamDataReq{ 20     string name=1; 21     bool type=2; 22 } 23 //定义一个响应体(用于回参)24 message MultiStreamResp{ 25     string req_str=1; 26     MultiStreamFirstResp first=2; 27 } 28 message MultiStreamFirstResp{ 29     string f_content=1; 30     int64 idx=2; 31 32 }
复制代码

这里可能需要对比着上一节所讲的复杂proto文件编写的内容,可以看到:请求体和响应体的定义大致都是一样的,只是在服务定义的时候会有一些些差别>请求体和响应体的前面多了一个关键字"stream” ,就是(请求或响应)只要一方是以流的方式发送就需要声明为 “stream" 。

  编写个客户端服务代码:

复制代码
 1 @Service  2 public class GrpcMultiStreamClientService {  3     private static final Logger LOG=LoggerFactory.getLogger(GrpcMultiStreamClientService.class);  4 
                        
关键字:
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信