title: My gRPC-Test Project just work on localhost
body: <p>i have the following problem.</p>
  <p>I created a gRpc Server(<em>Console App .Net 4.7.2 - i cant do Net Core on Server Side because of Crystal Reports :(</em>) and a Client(<em>WPF App .Net Core 3.1</em>) and i can run it as long as Server and Client are on my machine (Windows 10). As far es i take my Server to another machine (windows Server 2016), it does not work anymore.</p>
  <p>this is the RPC Exception:</p>
  <blockquote>
  <p>Status(StatusCode=&quot;Unavailable&quot;, Detail=&quot;failed to connect to all
  addresses&quot;,
  DebugException=&quot;Grpc.Core.Internal.CoreErrorDetailException:
  {&quot;created&quot;:&quot;@1595508082.170000000&quot;,&quot;description&quot;:&quot;Failed to pick
  subchannel&quot;,&quot;file&quot;:&quot;T:\src\github\grpc\workspace_csharp_ext_windows_x64\src\core\ext\filters\client_channel\client_channel.cc&quot;,&quot;file_line&quot;:3948,&quot;referenced_errors&quot;:[{&quot;created&quot;:&quot;@1595508082.170000000&quot;,&quot;description&quot;:&quot;failed
  to connect to all
  addresses&quot;,&quot;file&quot;:&quot;T:\src\github\grpc\workspace_csharp_ext_windows_x64\src\core\ext\filters\client_channel\lb_policy\pick_first\pick_first.cc&quot;,&quot;file_line&quot;:394,&quot;grpc_status&quot;:14}]}&quot;)</p>
  </blockquote>
  <p>i tried all variations. Here is my lastcode that works on localhost:</p>
  <p>Server:</p>
  <pre><code>static void Main(string[] args)
      {
          var cacert = File.ReadAllText(@&quot;root.crt&quot;);
          var servercert = File.ReadAllText(@&quot;server.crt&quot;);
          var serverkey = File.ReadAllText(@&quot;server.key&quot;);
          var keypair = new KeyCertificatePair(servercert, serverkey);
          var sslCredentials = new SslServerCredentials(new List&lt;KeyCertificatePair&gt;() { keypair }, cacert, false);
  
          // Build a server
          var server = new Server
          {
              Services = { ReportService.BindService(new KKarteReportService()) },
              Ports = { new ServerPort(Host, Port, sslCredentials) }
          };
  
  
          // Start server
          server.Start();
  
          Console.WriteLine(&quot;KKarteReport Server listening on port &quot; + Port);
          Console.WriteLine(&quot;Press any key to stop the server...&quot;);
          Console.ReadKey();
  
          server.ShutdownAsync().Wait();
      }
  </code></pre>
  <p>Client</p>
  <pre><code>var cacert = File.ReadAllText(@&quot;root.crt&quot;);
  var clientcert = File.ReadAllText(@&quot;client.crt&quot;);
  var clientkey = File.ReadAllText(@&quot;client.key&quot;);
  var ssl = new SslCredentials(cacert, new KeyCertificatePair(clientcert, clientkey));
             
   var options = new List&lt;ChannelOption&gt; { new ChannelOption(ChannelOptions.SslTargetNameOverride, &quot;MyServerHost&quot;) }; 
   var channel = new Channel(&quot;12.20.18.11&quot;, 5001, ssl, options);
   //var channel = new Channel(&quot;localhost&quot;, 5001, ssl, options);
   //var channel = new Channel(url, ChannelCredentials.Insecure);
   var client = new ReportService.ReportServiceClient(channel);
  
    using var streamingCall = client.CreateAusschreibung(request);
  
    await using var ms = new MemoryStream();
  
    while (await streamingCall.ResponseStream.MoveNext())
    {
          ms.Write(streamingCall.ResponseStream.Current.FileChunk.ToByteArray());
    }
  </code></pre>
  <p>What do i miss?</p>