GRPC与.net core
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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ASP.NET Core 管道再探
- 下一篇: 程序员修神之路--做好分库分表其实很难之