grpc双向流 python_GRPC单向/双向流

开始食用grpc(之二)https://www.cnblogs.com/funnyzpc/p/9570992.html开始食用grpc(之一)https://www.cnblogs.com/funnyzpc/p/9501353.htmlhttps://grpc.iohttps://github.com/grpc/grpc-java/tree/master/examples/example-tlsh...
摘要由CSDN通过智能技术生成

开始食用grpc(之二)

https://www.cnblogs.com/funnyzpc/p/9570992.html

开始食用grpc(之一)

https://www.cnblogs.com/funnyzpc/p/9501353.html

https://grpc.io

https://github.com/grpc/grpc-java/tree/master/examples/example-tls

https://github.com/grpc/grpc-java

https://www.myssl.cn/tools/merge-pem-cert.html

双向流式调用方法及注意事项:

由于双向流的使用方式不用于上期所讲的,这里我从编写一步步讲。

先在preview-grpc-lib工程先的proto文件夹下编写一个包含双向流的是proto文件以生成客户端和服务器相关代码(记得把生成的代码放入工程内)。

(MultiStream.proto)

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值