grpc - console client
2022. 5. 17. 00:00ㆍASPNET/Grpc
반응형
grpc server 와 통신 하는 grpc client 를 생성해 보자
앞 강좌에서 만들었던 GrpcConsole 솔루션에서 Add Project 를 선택한 후 Console app 을 추가하자
GrpcConsoleClient 생성
GrpcConsoleClient 를 선택한 후
GrpcConsoleServer 의 Protos 폴더를 복사하여 GrpcConsoleClient 에 붙혀넣기 한다.
GrpcConsoleClient.csproj 수정
<Project Sdk="Microsoft.NET.Sdk">
...
<ItemGroup>
<Protobuf Include="Protos\greet.proto" GrpcServices="client" />
</ItemGroup>
</Project>
개발자 명령 프롬프트로 이동
GrpcConsoleClient.csproj 파일이 있는 폴더로 이동 다음 명령을 이용하여 Grpc 관련 package 설치
dotnet add package Google.Protobuf
dotnet add package Grpc
dotnet add package Grpc.Tools
GrpcConsoleClient.csproj 의 현재 상황
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<Protobuf Include="Protos\greet.proto" GrpcServices="client" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="google.protobuf" Version="3.20.1" />
<PackageReference Include="Grpc" Version="2.45.0" />
<PackageReference Include="Grpc.Tools" Version="2.45.0">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
</ItemGroup>
</Project>
솔루션을 build 한다.
Program.cs
using Grpc.Core;
using Helloworld;
Channel channel = new Channel("127.0.0.1:30051", ChannelCredentials.Insecure);
var client = new Greeter.GreeterClient(channel);
String user = "you";
var reply = client.SayHello(new HelloRequest { Name = user });
Console.WriteLine("Greeting: " + reply.Message);
channel.ShutdownAsync().Wait();
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
자 솔루션을 다시 build 하고 GrpcConsoleServer 를 마우스 우클릭 한후 startup project 로 설정하자
ctrl + f5 를 누르거나 Debug 메뉴에서 debug 깅하지 않고 시작하기 를 클릭하자
GrpcConsoleServer 를 마우스 우클릭 한 후 Debug --> Start without debug 를 실행하자
위와 같이 실행되면 정상적으로 동작한 것이다.
관련영상
반응형
'ASPNET > Grpc' 카테고리의 다른 글
gRPC - Configuration (0) | 2022.05.23 |
---|---|
grpc test - grpcui (0) | 2022.05.20 |
grpc test - grpcurl (0) | 2022.05.19 |
grpc with aspnet core (0) | 2022.05.18 |
grpc - console server (0) | 2022.05.16 |