netstd Server: Add IPv6
Unlike servers in other languages (tested: cpp & python), netstd (Csharp) listens only on IPv4.
This can cause errors and delays on clients if they use "localhost" for hostname.
diff --git a/lib/netstd/Thrift/Transport/Server/TServerSocketTransport.cs b/lib/netstd/Thrift/Transport/Server/TServerSocketTransport.cs
index 3a4fed4..31ecef3 100644
--- a/lib/netstd/Thrift/Transport/Server/TServerSocketTransport.cs
+++ b/lib/netstd/Thrift/Transport/Server/TServerSocketTransport.cs
@@ -44,7 +44,8 @@
try
{
// Make server socket
- _server = new TcpListener(IPAddress.Any, port);
+ _server = new TcpListener(IPAddress.IPv6Any, port);
+ _server.Server.SetSocketOption(SocketOptionLevel.IPv6, SocketOptionName.IPv6Only, false);
_server.Server.NoDelay = true;
}
catch (Exception)