Exemplo n.º 1
0
        public static async Task DoLongGreet(GreetingService.GreetingServiceClient client)
        {
            var greeting = new Greeting()
            {
                FirstName = "Clement",
                LastName  = "Jean"
            };

            var request = new LongGreetRequest()
            {
                Greeting = greeting
            };
            var stream = client.LongGreet();

            foreach (int i in Enumerable.Range(1, 10))
            {
                await stream.RequestStream.WriteAsync(request);
            }

            await stream.RequestStream.CompleteAsync();

            var response = await stream.ResponseAsync;

            Console.WriteLine(response.Result);
        }
Exemplo n.º 2
0
        private static async Task LongGreetClientStream(Channel channel)
        {
            Console.WriteLine("Long greet client stream");
            var client = new GreetingService.GreetingServiceClient(channel);

            var greeting = new Greeting()
            {
                FirstName = "Stanislaw",
                LastName  = "Banski"
            };

            var longRequest = new LongGreetRequest()
            {
                Greeting = greeting
            };
            var stream = client.LongGreet();

            foreach (int i in Enumerable.Range(1, 10))
            {
                await stream.RequestStream.WriteAsync(longRequest);
            }

            await stream.RequestStream.CompleteAsync();

            var longResponse = await stream.ResponseAsync;

            Console.WriteLine(longResponse.Result);
        }
Exemplo n.º 3
0
        static async Task ClientStreaming(Channel channel)
        {
            WriteHeader("ClientStreaming");
            var clientStreamingClient  = new GreetingService.GreetingServiceClient(channel);
            var clientStreamingRequest = new LongGreetRequest {
                Greeting = "hello"
            };
            var clientStreamingStream = clientStreamingClient.LongGreet();

            for (var i = 0; i < 10; i++)
            {
                await clientStreamingStream.RequestStream.WriteAsync(clientStreamingRequest);
            }
            await clientStreamingStream.RequestStream.CompleteAsync();

            var clientStreamingResponse = await clientStreamingStream.ResponseAsync;

            Console.WriteLine($"client streaming: {clientStreamingResponse.Result}");
        }
Exemplo n.º 4
0
        private static async Task LongGreet(GreetingService.GreetingServiceClient greetingClient)
        {
            var greeting = new Greeting()
            {
                FirstName = "Kevin Hayes",
                LastName  = "Anderson"
            };
            var longGreetRequest = new LongGreetRequest()
            {
                Greeting = greeting
            };
            var longStream = greetingClient.LongGreet();

            foreach (var i in Enumerable.Range(1, 10))
            {
                await longStream.RequestStream.WriteAsync(longGreetRequest);
            }
            await longStream.RequestStream.CompleteAsync();

            var longGreetResponse = await longStream.ResponseAsync;

            Console.WriteLine(longGreetResponse.Result);
        }
Exemplo n.º 5
0
        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 == System.Threading.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);
                //}

                var request = new LongGreetingRequest()
                {
                    Greeting = greeting
                };
                var stream = client.LongGreet();

                foreach (int i in Enumerable.Range(1, 10))
                {
                    await stream.RequestStream.WriteAsync(request);
                }

                await stream.RequestStream.CompleteAsync();

                var response = await stream.ResponseAsync;
                Console.WriteLine($"Response is: {Environment.NewLine} {response.Result}");

                channel.ShutdownAsync().Wait();
                Console.ReadKey();
            }
            catch (IOException ex)
            {
                Console.WriteLine($"Error : {ex.Message}");
            }
        }