您的位置:首页 > 财经 > 金融 > [C#]实现GRPC通讯的服务端和客户端实例

[C#]实现GRPC通讯的服务端和客户端实例

2024/12/23 10:35:32 来源:https://blog.csdn.net/READLEAF/article/details/141183015  浏览:    关键词:[C#]实现GRPC通讯的服务端和客户端实例
最近要做两个软件之间消息的通讯,学习了一下GRPC框架的通讯。根据官方资料做了一个实例。
官方资料请参考:Create a .NET Core gRPC client and server in ASP.NET Core | Microsoft Learn

开发平台:Visual Studio 2022
开发前提条件:VS2022下载:ASP.NET and web development

vs创建服务端步骤:

.打开VS2022并且新建项目,在创建新项目的对话框中,搜索:gRPC,选择:ASP.NET Core gRPC Service的工程,然后点击下一步。
.出现配置项目的对话框中输入项目名如:[GrpcGreeter ],然后点击下一步。
.选择:.net8.0,然后选择创建。
按Ctrl+F5直接运行该项目工程。会显示以下对话框,点击yes.

开启服务后,服务端显示:

打开一个网络浏览器,输入网址:https://localhost:7147
可以看到:
确认工程文件:
Properties/launchSettings.json:启动设置

Protos/greet.proto:  用于定义通讯的消息的内容。
Services:用于通讯时调用的方法。
appSettings.json:用于Kestrel通讯的协议配置
Programs.cs:配置和启动服务。

vs创建客户端步骤:
.vs2022,新建项目。选择控制台应用,点下一步。
.项目名对话框中输入:GrpcGreeterClient,点下一步。
.设置为.net8.0,点击创建。
.客户端工程中下载安装NuGet包:Grpc.Net.Client,  Google.Protobuf,   Grpc.Tools
.将服务端 的Protos\greet.proto文件拷贝至客户端工程并且将该文件中的命名空间改为客户端的命名空间。option csharp_namespace = "GrpcGreeterClient";
.编辑工程文件:GrpcGreeterClient.csproj,新增一个groupitem项
<ItemGroup>
  <Protobuf Include="Protos\greet.proto" GrpcServices="Client" />
</ItemGroup>
.编译客户端工程,自动生成以下文件:
GrpcGreeterClient\obj\Debug\[TARGET_FRAMEWORK]\Protos\Greet.cs 缓冲协议代码
GrpcGreeterClient\obj\Debug\[TARGET_FRAMEWORK]\Protos\GreetGrpc.cs 客户端类
.更新Program.cs代码:
其中端口号7147和服务端的端口号保持一致。
.客户端异步调用了SayHello方法,返回回复结果。
.更新服务端 appsettings.Development.json文件为:

测试:
启动服务端 GrpcGreeter工程 Ctrl+F5  执行
启动客户端 GrpcGreeterClient工程   Ctrl+F5  执行
执行界面如下所示:


 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com