示例#1
0
        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;
        }
示例#2
0
        //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;
        }
示例#3
0
        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;
        }
示例#4
0
        //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;
        }
示例#5
0
        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;
        }
示例#6
0
文件: Program.cs 项目: edseds/gRPC
        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;
        }