Skip to content

Commit

Permalink
Support connecting to hostnames that resolve to IPv6 addresses (#406)
Browse files Browse the repository at this point in the history
  • Loading branch information
DavidSimner committed Sep 24, 2020
1 parent 50cb20d commit 772cbc8
Show file tree
Hide file tree
Showing 3 changed files with 2 additions and 54 deletions.
13 changes: 2 additions & 11 deletions src/NATS.Client/Conn.cs
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
using System.Security.Authentication;
using System.Globalization;
using System.Diagnostics;
using NATS.Client.Extensions;
using NATS.Client.Internals;

namespace NATS.Client
Expand Down Expand Up @@ -378,7 +377,8 @@ internal void open(Srv s, int timeoutMillis)
sslStream = null;
}

client = createTcpClient(s.url);
client = new TcpClient(AddressFamily.InterNetworkV6);
client.Client.DualMode = true;
var task = client.ConnectAsync(s.url.Host, s.url.Port);
// avoid raising TaskScheduler.UnobservedTaskException if the timeout occurs first
task.ContinueWith(t => GC.KeepAlive(t.Exception), TaskContinuationOptions.OnlyOnFaulted);
Expand All @@ -401,15 +401,6 @@ internal void open(Srv s, int timeoutMillis)
}
}

private static TcpClient createTcpClient(Uri uri)
{
var interNetworkAddressFamily = uri.GetInterNetworkAddressFamily();

return interNetworkAddressFamily != null
? new TcpClient(interNetworkAddressFamily.Value)
: new TcpClient();
}

private static bool remoteCertificateValidation(
object sender,
X509Certificate certificate,
Expand Down
20 changes: 0 additions & 20 deletions src/NATS.Client/Extensions/UriExtensions.cs

This file was deleted.

23 changes: 0 additions & 23 deletions src/Tests/UnitTests/Extensions/TestUriExtensions.cs

This file was deleted.

0 comments on commit 772cbc8

Please sign in to comment.