Beispiel #1
0
        private static async Task RunServerStreamingRpc(FooService.FooServiceClient client)
        {
            WriteLine("Starting server streaming RPC example...\n", ConsoleColor.Blue);

            Console.WriteLine("You will be requested for an amount of messages that should be streamed to client.");
            Console.WriteLine("gRPC Server will then stream this amount of messages before it will finish the request.");

            WriteRequestInput("Amount of messages:");
            var result = Convert.ToInt32(Console.ReadLine());

            var fooRequest = new FooServerStreamingRequest {
                Message = "Sample request", MessageCount = result
            };
            var serverStreamingCall = client.GetFoos(fooRequest);

            Console.WriteLine($"\n\tgRPC Server responses:");

            await foreach (var response in serverStreamingCall.ResponseStream.ReadAllAsync())
            {
                Console.WriteLine($"\t> {response.Message}");
            }

            WriteLine("\nFinished server streaming RPC example...", ConsoleColor.Blue);
            WriteSeparator();
        }