static async Task BiDi(Channel channel) { WriteHeader("BiDi"); var bidiClient = new GreetingService.GreetingServiceClient(channel); var bidiStream = bidiClient.GreetEveryone(); var bidiResponseReaderTask = Task.Run(async() => { while (await bidiStream.ResponseStream.MoveNext()) { Console.WriteLine(bidiStream.ResponseStream.Current.Result); } }); var list = new List <string> { "John", "Bob", "Max", "Andrew", "Sheldon", "Julia", "Marlen", "Den", "Joseph", "Fisherman", "Dick" }; foreach (var item in list) { Console.WriteLine($"{item} has sent a greeting"); await bidiStream.RequestStream.WriteAsync(new GreetEveryoneRequest { Name = item }); await Task.Delay(345); } await bidiStream.RequestStream.CompleteAsync(); await bidiResponseReaderTask; }
//BI-DIRECTINAL STREAMING public static async Task DoGreetEveryone(GreetingService.GreetingServiceClient client) { var stream = client.GreetEveryone(); var responseReaderTask = Task.Run(async() => { while (await stream.ResponseStream.MoveNext()) { Console.WriteLine("Received : " + stream.ResponseStream.Current.Result); } }); Greeting[] greetings = { new Greeting() { FirstName = "Program1", LastName = "Skan1" }, new Greeting() { FirstName = "Program2", LastName = "Skan2" }, new Greeting() { FirstName = "Program3", LastName = "Skan3" }, new Greeting() { FirstName = "Program4", LastName = "Skan4" }, new Greeting() { FirstName = "Program5", LastName = "Skan5" } }; foreach (var greeting in greetings) { Console.WriteLine("Sending : " + greeting.ToString()); await stream.RequestStream.WriteAsync(new GreetEveryoneRequest() { Greeting = greeting }); //await Task.Delay(1000); } await stream.RequestStream.CompleteAsync(); await responseReaderTask; }
private static async Task GreetEveryoneBi(Channel channel) { Console.WriteLine("Greet everyone bi"); var client = new GreetingService.GreetingServiceClient(channel); var stream = client.GreetEveryone(); var responseReaderTask = Task.Run(async() => { while (await stream.ResponseStream.MoveNext()) { Console.WriteLine("Received: " + stream.ResponseStream.Current.Result); } }); Greeting[] greetings = { new Greeting() { FirstName = "Stanislaw", LastName = "Banski" }, new Greeting() { FirstName = "John", LastName = "Doe" }, new Greeting() { FirstName = "Adam", LastName = "Smith" } }; foreach (var item in greetings) { Console.WriteLine("Sending : " + item.ToString()); await stream.RequestStream.WriteAsync(new GreetEveryoneRequest() { Greeting = item }); } await stream.RequestStream.CompleteAsync(); await responseReaderTask; }
//Bidi Stream Greet public static async Task DoGreetEveryone(GreetingService.GreetingServiceClient client) { var stream = client.GreetEveryone(); var responseReaderTask = Task.Run(async() => { while (await stream.ResponseStream.MoveNext()) { Console.WriteLine("Recieved: " + stream.ResponseStream.Current.Result); } }); Greeting[] greetings = { new Greeting() { FirstName = "Bartu", LastName = "Gozet" }, new Greeting() { FirstName = "Bartu2", LastName = "Gozet2" }, new Greeting() { FirstName = "Bartu3", LastName = "Gozet3" }, }; foreach (var greeting in greetings) { Console.WriteLine("Sending: " + greeting.ToString()); await stream.RequestStream.WriteAsync(new GreetEveryoneRequest() { Greeting = greeting }); } await stream.RequestStream.CompleteAsync(); await responseReaderTask; }
public static async Task DoGreetEveryone(GreetingService.GreetingServiceClient client) { var stream = client.GreetEveryone(); var responseReaderTask = Task.Run(async() => { while (await stream.ResponseStream.MoveNext()) { Console.WriteLine("Received : " + stream.ResponseStream.Current.Result); } }); Greeting[] greetings = { new Greeting() { FirstName = "John", LastName = "Doe" }, new Greeting() { FirstName = "Clement", LastName = "Jean" }, new Greeting() { FirstName = "Patricia", LastName = "Hertz" } }; foreach (var greeting in greetings) { Console.WriteLine("Sending : " + greeting.ToString()); await stream.RequestStream.WriteAsync(new GreetEveryoneRequest() { Greeting = greeting }); } await stream.RequestStream.CompleteAsync(); await responseReaderTask; }
public static async Task DoGreetEveryone(GreetingService.GreetingServiceClient client) { var stream = client.GreetEveryone(); var resposneReaderTask = Task.Run(async() => { while (await stream.ResponseStream.MoveNext()) { Console.WriteLine("Received: {0}", stream.ResponseStream.Current.Result); } }); List <Greeting> greetingList = new List <Greeting>() { new Greeting() { FirstName = "1111111", LastName = "222222" }, new Greeting() { FirstName = "3333333", LastName = "444444" }, new Greeting() { FirstName = "55555555", LastName = "6666666" } }; foreach (var greeting in greetingList) { Console.WriteLine("Sending: {0}", greeting.ToString()); await stream.RequestStream.WriteAsync(new GreetEveryoneRequest() { Greeting = greeting }); } await stream.RequestStream.CompleteAsync(); await resposneReaderTask; }