public static async Task HandleServerStreamingCallAsync(TestService.TestServiceClient client) { var inputKey = Console.ReadLine(); var input = new EchoInput() { Input = inputKey }; var tokenSource = new CancellationTokenSource(); if (inputKey == "Q") { tokenSource.Cancel(); } var resStream = client.GetEchoStream(input, deadline: DateTime.UtcNow.AddSeconds(10), cancellationToken: tokenSource.Token); while (await resStream.ResponseStream.MoveNext()) { Console.WriteLine("Get echo from stream: " + resStream.ResponseStream.Current.Output.Trim()); Console.WriteLine("Get echo time: " + resStream.ResponseStream.Current.TimeStamp.ToDateTime().ToLocalTime()); } }