public override async Task GreetManyTimes(GreetingManyTimesRequest request, IServerStreamWriter <GreetingManyTimesResponse> responseStream, ServerCallContext context) { foreach (int val in Enumerable.Range(1, 10)) { await responseStream.WriteAsync(new GreetingManyTimesResponse { Response = $"Hello {request.Request.Firstname} {request.Request.Lastname}" }); } }
static async Task Main(string[] args) { try { Thread.Sleep(1000); Channel channel = new Channel($"localhost:{_port}", ChannelCredentials.Insecure); await channel.ConnectAsync().ContinueWith((task) => { //var taskResult = (task.Status == Tasks.TaskStatus.RanToCompletion ? // "Client Ran Successfully" : // $"TaskStatus : {task.ToString()}"); //Console.ReadKey(); //Console.WriteLine(taskResult); if (task.Status == Tasks.TaskStatus.RanToCompletion) { Console.WriteLine("The Client connected successfully"); } else { Console.WriteLine($"Client Task Status: {task.ToString()}"); } }); var client = new GreetingService.GreetingServiceClient(channel); var greeting = new Greeting() { FirstName = "Francis", LastName = "Chung" }; var request = new GreetingManyTimesRequest() { Greeting = greeting }; var response = client.GreetManyTimes(request); Console.WriteLine($"Client sending {request.Greeting.FirstName}, {request.Greeting.LastName}"); //Console.WriteLine($"Result: {response.Result}"); while (await response.ResponseStream.MoveNext()) { Console.WriteLine($"Result : {response.ResponseStream.Current.Result}"); await Task.Delay(200); } Console.ReadKey(); } catch (IOException ex) { Console.WriteLine($"Error : {ex.Message}"); } }
public override async Task GreetManyTime(GreetingManyTimesRequest request, IServerStreamWriter <GreetingManyTimesResponse> responseStream, ServerCallContext context) { Console.WriteLine($"Server recieved the request : {request.ToString()}"); var result = $"hello {request.Greeting.FirstName} {request.Greeting.LastName}"; foreach (var item in Enumerable.Range(1, 10)) { await responseStream.WriteAsync(new GreetingManyTimesResponse { Result = result }); } }
//Server Streaming public override async Task GreetingManyTimes(GreetingManyTimesRequest request, IServerStreamWriter <GreetingManyTimesResponse> responseStream, ServerCallContext context) { Console.WriteLine("The Server recieved the equest:"); Console.WriteLine(request.ToString()); string result = String.Format("Hello {0} {1}", request.Greeting.FirstName, request.Greeting.LatsName); foreach (int i in Enumerable.Range(1, 10)) { await responseStream.WriteAsync(new GreetingManyTimesResponse() { Result = result }); } }
public static async Task DoManyGreetings(GreetingService.GreetingServiceClient client, Greeting greeting) { var request = new GreetingManyTimesRequest { Greeting = greeting }; var response = client.GreetManyTimes(request); while (await response.ResponseStream.MoveNext()) { Console.WriteLine(response.ResponseStream.Current.Result); await Task.Delay(200); } }