// Copyright 2015 gRPC authors. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. using System; using Grpc.Core; using Helloworld; using CommandLine; namespace GreeterClient { class Program { private class Options { [Option("server", Default = "localhost:30051", HelpText = "The address of the server")] public string Server { get; set; } } public static void Main(string[] args) { Parser.Default.ParseArguments(args) .WithParsed(options => RunClient(options)); } private static void RunClient(Options options) { Channel channel = new Channel(options.Server, ChannelCredentials.Insecure); var client = new Greeter.GreeterClient(channel); String user = "you"; var reply = client.SayHello(new HelloRequest { Name = user }); Console.WriteLine("Greeter client received: " + reply.Message); channel.ShutdownAsync().Wait(); Console.WriteLine("Press any key to exit..."); Console.ReadKey(); } } }