开始食用grpc(之二)

  前段时间有童鞋找我开专栏、搬家、甚至还有人找我写书的。。。这其中有大平台 疼讯、阿里...,也有小平台 :第八基地、云聚、西部数码...,在此再次感谢各位赏识,吾文采拙劣,技术水平较次,实在没时间写书,也没时间给各位解答不熟悉的技术问题...;同时邀请我开专栏、搬家的平台也请不要重复邀请呢。

  额,同时对于转载的童鞋,需要说明的是:我的博客是免费公益性质的,若能受到点儿启发或者有些许的帮助就是对比人最大的肯定,基于此,请各位转载的童鞋 能 原文转载(对原作者极大的尊重),若是平台转载请在转载的后的博客页面中切勿投放过多的广告,在此我强调过我的博客是免费性质的,若是拿来做付费或是赚取广告费性质的请和我联系(可以容许少许的广告,广告也不可遮盖博客内容),在此请各位谅解哈~,同时感谢深耕在开源一线的童鞋,是你们改善了一线开发人员的处境,也让整个行业变得快速高效,致敬!

```

  此次我就接着上次的话茬把我所了解的grpc将完吧,grpc这两节的内容大致如下:

    A->grpc的简单配置 (上一节)

    A>简单grpc编写 (上一节)

    B>复杂grpc proto服务文件编写 (上一节)

    C>双向流式调用方法及注意事项 (本节)

    D>grpc安全问题及拦截器 (本节)

  这次我是这么安排的,先列举一个双向流的编写过程,然后在讲讲这里面的坑,然后再浅谈一下grpc安全问题,同时编写一个简单的grpc拦截器,若基本配置不是很清楚请仔细阅读 https://www.cnblogs.com/funnyzpc/p/9501353.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 }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwpxpp.html