コード例 #1
0
ファイル: Program.cs プロジェクト: edseds/gRPC
        public static async Task DoLongGreet(GreetingService.GreetingServiceClient client, Greeting greeting)
        {
            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.Result);
        }
コード例 #2
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}");
            }
        }