Ejemplo n.º 1
0
        private static Chatter.ChatterClient CreateClient()
        {
            var channel = GrpcChannel.ForAddress("http://localhost:5000");
            var client  = new Chatter.ChatterClient(channel);

            return(client);
        }
Ejemplo n.º 2
0
        static async Task Main(string[] args)
        {
            var name    = args[0];
            var channel = new Channel("localhost:50051", ClientResources.SslCredentials);
            var client  = new Chatter.ChatterClient(channel);

            using (var chat = client.Chat())
            {
                Console.WriteLine($"Connected as {name}. Send empty message to quit.");

                // Dispatch, this could be racy
                var responseTask = Task.Run(async() =>
                {
                    while (await chat.ResponseStream.MoveNext(CancellationToken.None))
                    {
                        Console.WriteLine($"{chat.ResponseStream.Current.Name}: {chat.ResponseStream.Current.Message}");
                    }
                });

                var line = Console.ReadLine();
                while (!string.IsNullOrEmpty(line))
                {
                    await chat.RequestStream.WriteAsync(new ChatMessage { Name = name, Message = line });

                    line = Console.ReadLine();
                }
                await chat.RequestStream.CompleteAsync();
            }

            Console.WriteLine("Shutting down");
            channel.ShutdownAsync().Wait();
            Console.WriteLine("Press any key to exit...");
            Console.ReadKey();
        }
Ejemplo n.º 3
0
        static async Task <int> Main(string[] args)
        {
            if (args.Length != 1)
            {
                Console.WriteLine("No name provided. Usage: dotnet run <name>.");
                return(1);
            }

            var name = args[0];

            // Server will only support Https on Windows and Linux
            var credentials = RuntimeInformation.IsOSPlatform(OSPlatform.OSX) ? ChannelCredentials.Insecure : ClientResources.SslCredentials;

            var channel = new Channel("localhost:50051", credentials);
            var client  = new Chatter.ChatterClient(channel);

            using (var chat = client.Chat())
            {
                Console.WriteLine($"Connected as {name}. Send empty message to quit.");

                // Dispatch, this could be racy
                var responseTask = Task.Run(async() =>
                {
                    while (await chat.ResponseStream.MoveNext(CancellationToken.None))
                    {
                        Console.WriteLine($"{chat.ResponseStream.Current.Name}: {chat.ResponseStream.Current.Message}");
                    }
                });

                var line = Console.ReadLine();
                while (!string.IsNullOrEmpty(line))
                {
                    await chat.RequestStream.WriteAsync(new ChatMessage { Name = name, Message = line });

                    line = Console.ReadLine();
                }
                await chat.RequestStream.CompleteAsync();
            }

            Console.WriteLine("Shutting down");
            channel.ShutdownAsync().Wait();
            Console.WriteLine("Press any key to exit...");
            Console.ReadKey();

            return(0);
        }
        public gRPCChannelService(string hostAddress)
        {
            GrpcChannel = GrpcChannel.ForAddress(hostAddress);

            ChatterClient = new Chatter.ChatterClient(GrpcChannel);
        }