grpc - console client

2022. 5. 17. 00:00ASPNET/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 를 실행하자

 

 

위와 같이 실행되면 정상적으로 동작한 것이다. 

 

관련영상

https://youtu.be/Ll6BGYBdFN8

 

반응형

'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