QQ讨论群:953553560

正文

系列章节

GRPC与.net core

GRPC截止时间与元数据

GRPC与netcore Identity

GRPC与netcore IdentityServer4

概述

GRPC的数据交互模式有:

1.单项RPC,最简单的数据交换方式,客户端发出单个请求,收到单个响应

2.服务端流式RPC,是在服务端收到客户端的请求之后,返回一个应答流,客户端收到流之后处理。

3.客户端流式RPC,与单项类似,但客户端发送的是流式RPC

4.双向流式RPC,调用由客户端调用方法来初始化,而服务端则接收到客户端的元数据,方法名和截止时间。服务端可以选择发送回它的初始元数据或等待客户端发送请求。下一步怎样发展取决于应用,因为客户端和服务端能在任意顺序上读写 - 这些流的操作是完全独立的。例如服务端可以一直等直到它接收到所有客户端的消息才写应答,或者服务端和客户端可以像"乒乓球"一样:服务端后得到一个请求就回送一个应答,接着客户端根据应答来发送另一个请求,以此类推。

单项RPC较简单不做示例了。

首先在vs2019中net core3.0中新建GRPC项目。然后定义响应的proto文件,根据proto文件生成响应的服务端与客户端代码。

1.服务端流式RPC

1.定义 protofile

2.实现服务端Service

重新生成项目,然后实现GetStreamContent,简单的读取文件内容,并将内容返回给Client

3.实现Client

新建一个netcore 3.0的Console项目,并引入Nuget包

编辑项目文件,修改如下节点

重新生成项目,Client端主要实现发送请求,请求是一个服务器端的文件路径。然后实现接收服务端的流,并保存到Client本地。

文件生成成功

2.客户端流式RPC

1.定义 protofile

2.实现服务端Service

重新生成项目,并实现如下

3.实现Client

新建一个netcore 3.0的Console项目,并引入Nuget包,安装nuget包与其他操作同上一个例子,实现代码如下

3.双向流式RPC

1.定义proto

2.服务端实现

重新生成项目,并实现如下

3.客户端代码

新建一个netcore 3.0的Console项目,并引入Nuget包,安装nuget包与其他操作同上一个例子,实现代码如下

至此,GRPC的几种数据交互分享完毕

原文地址:https://www.cnblogs.com/chenyishi/p/11143375.html


.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

GRPC与.net core相关推荐

  1. 基于 gRPC 和 .NET Core 的服务器流

    原文:https://bit.ly/3lpz8Ll 作者:Chandan Rauniyar 翻译:精致码农-王亮 早在 2019 年,我写过<用 Mapbox 绘制位置数据>一文,详细介绍 ...

  2. 使用gRPC的.NET Core 3.0双向消息流

    目录 介绍 软件描述 服务器基础结构(GrpcServerHelper) 客户基础设施(GrpcClientHelper) GrpcServer和GrpcClient 运行示例 结论 下载源码 - 2 ...

  3. 【gRPC】 在.Net core中使用gRPC

    最近在学习.net core的微服务体系架构.微服务之间的通信常常通过gRPC进行同步通信,但是需要注意的是,大多数微服务之间的通信是通过事件总线进行异步通信.在微软介绍.net微服务体系架构的项目e ...

  4. .NET Core 下使用 gRPC

    gRPC 是一种与语言无关的高性能远程过程调用 (RPC) 框架. https://grpc.io/docs/guides/ https://github.com/grpc/grpc-dotnet h ...

  5. ASP.NET Core 3.0 gRPC 双向流

    目录 ASP.NET Core 3.0 使用gRPC ASP.NET Core 3.0 gRPC 双向流 ASP.NET Core 3.0 gRPC 认证授权 一.前言 在前一文 < 二. 什么 ...

  6. ASP.NET Core 3.0 使用gRPC

    一.简介 gRPC 是一个由Google开源的,跨语言的,高性能的远程过程调用(RPC)框架.gRPC使客户端和服务端应用程序可以透明地进行通信,并简化了连接系统的构建.它使用HTTP/2作为通信协议 ...

  7. NetCore服务虚拟化01(集群组件Sodao.Core.Grpc)

    一. 起始 去年.NetCore2.0的发布,公司决定新项目采用.NetCore开发,当作试验.但是问题在于当前公司内部使用的RPC服务为Thrift v0.9 + zookeeper版本,经过个性化 ...

  8. gRPC .NET Core跨平台学习

    前些天发布gRPC C# 学习,在.NET Framework 中使用gRPC ,今天来学习 .NET Core gRPC. gRPC 的.NET Core 包在NuGet 上发布了,结合.NET C ...

  9. .NET Core 学习资料精选:入门

    开源跨平台的.NET Core,还没上车的赶紧的,来不及解释了-- 本系列文章,主要分享一些.NET Core比较优秀的社区资料和微软官方资料.我进行了知识点归类,让大家可以更清晰的学习.NET Co ...

最新文章

  1. jdb java_JDB - 介绍
  2. RSA, ACS5.X 集成配置
  3. windows7 'telnet'不是内部或外部命令--转载
  4. Document for the hackthon
  5. MFC RadioButton用法详解
  6. 【JS新手教程】LODOP打印复选框选中的任务或页数
  7. 面试准备每日五题:C++(八)——重写重载隐藏、vector相关
  8. php laravel日志报错,Laravel 文档阅读:错误 日志记录
  9. 怎样提升小程序UV访客,快速开通流量主!
  10. 02_安装nginx-银河麒麟V10(Kylin Linux Advanced Server V10 (Tercel))操作系统
  11. 制作rpm包的过程可能会遇见的一些问题
  12. 完整的保存onetab的书签信息
  13. 微信小程序—在原有数组内添加元素
  14. html5怎么调用手机陀螺仪,html5 获取 陀螺仪,重力感应(转发)
  15. 2021贵港市地区高考成绩排名查询,贵港高中成绩排名2021,贵港中考分数线排行榜...
  16. An attempt was made to call a method that does not existThe attempt was made from following location
  17. matlab绘制sintsinwt,sin(wt)中的t单位是
  18. 【3D电子书制作软件】名编辑电子杂志大师教程 | 如何控制flash播放?
  19. 但迄今无人超越的飞鸽传书
  20. JAVA应用服务器都有那些?

热门文章

  1. 在Windows XP中对系统文件(页面文件和注册表)进行碎片整理
  2. ipad iphone开发_如何将iPhone或iPad置于恢复模式
  3. java 重置定时器_可重置Java定时器
  4. I/O多路转接之poll——基于TCP协议
  5. bkwin设置文本控件为多行模式
  6. 排序算法java实现
  7. (转)64bit上安装32位oracle 10 g出现错误:无法定位承诺工序输入点 getprocessimagifilenamew 于动态链接库PSAPI.DLL...
  8. group client policy无法登录,谢绝访问
  9. 500w 的引用类型和值类型到底有多大差异?
  10. Win11推送加速!