From 46dbc9e4ce3db872a45a07cc7a35376dd1b1dbbd Mon Sep 17 00:00:00 2001 From: trochas Date: Tue, 1 Apr 2025 16:03:40 +0200 Subject: [PATCH] Client --- .../java/fr/istic/grpc/echo/EchoClient.java | 19 +++++++++++++++++++ .../java/fr/istic/grpc/echo/EchoServeur.java | 9 ++++++++- src/main/proto/echo.proto | 9 ++++++++- 3 files changed, 35 insertions(+), 2 deletions(-) diff --git a/src/main/java/fr/istic/grpc/echo/EchoClient.java b/src/main/java/fr/istic/grpc/echo/EchoClient.java index 51a80bc..1f3d795 100644 --- a/src/main/java/fr/istic/grpc/echo/EchoClient.java +++ b/src/main/java/fr/istic/grpc/echo/EchoClient.java @@ -7,5 +7,24 @@ import io.grpc.*; public class EchoClient { + public static void main(String[] args) throws Exception { + + ManagedChannel channel = ManagedChannelBuilder + .forAddress("localhost", 8080) //serveur localhost, port 8080 + .usePlaintext() // on demande a ne pas utiliser tls + .build(); // pattern builder + //On utilise un stub bloquant pour faire la requête (on bloque jusqu'à réponse) + EchoServiceGrpc.EchoServiceBlockingStub stub = EchoServiceGrpc.newBlockingStub(channel); + //On construit la requête : + MessageSent request = MessageSent.newBuilder().setMessage("ilililili").build(); + + // On appelle le serveur : + MessageReceive response = stub.echo(request); + + // On affiche le résultat + System.out.println("Reçu : " + response.getMessage()); + channel.shutdown(); + } + } diff --git a/src/main/java/fr/istic/grpc/echo/EchoServeur.java b/src/main/java/fr/istic/grpc/echo/EchoServeur.java index c519c03..5cf9d10 100644 --- a/src/main/java/fr/istic/grpc/echo/EchoServeur.java +++ b/src/main/java/fr/istic/grpc/echo/EchoServeur.java @@ -1,10 +1,17 @@ package fr.istic.grpc.echo; +import fr.istic.grpc.echo.Echo.MessageReceive; +import fr.istic.grpc.echo.Echo.MessageSent; import fr.istic.grpc.todo.*; import io.grpc.*; +import io.grpc.stub.StreamObserver; import java.io.*; public class EchoServeur { - + public void echo(MessageSent min, StreamObserver responseObserver) { + MessageReceive reply = MessageReceive.newBuilder().setMessage(min.getMessage().toUpperCase()).build(); + responseObserver.onNext(reply); + responseObserver.onCompleted(); + } } diff --git a/src/main/proto/echo.proto b/src/main/proto/echo.proto index e6792b7..f4a9738 100644 --- a/src/main/proto/echo.proto +++ b/src/main/proto/echo.proto @@ -4,6 +4,13 @@ package echo; option java_package = "fr.istic.grpc.echo"; service EchoService { - + rpc Echo(MessageSent) returns (MessageReceive) {} } +message MessageSent{ + string message = 1; +} + +message MessageReceive{ + string message = 1; +} \ No newline at end of file