diff --git a/websocket-sharp/Ext.cs b/websocket-sharp/Ext.cs index a9ce853e..4c0c3e88 100644 --- a/websocket-sharp/Ext.cs +++ b/websocket-sharp/Ext.cs @@ -1297,9 +1297,20 @@ namespace WebSocketSharp if (address == null) return false; - if (address.Equals (System.Net.IPAddress.Any) || System.Net.IPAddress.IsLoopback (address)) + if (address.Equals (System.Net.IPAddress.Any)) return true; + if (address.Equals (System.Net.IPAddress.Loopback)) + return true; + + if (Socket.OSSupportsIPv6) { + if (address.Equals (System.Net.IPAddress.IPv6Any)) + return true; + + if (address.Equals (System.Net.IPAddress.IPv6Loopback)) + return true; + } + var host = System.Net.Dns.GetHostName (); var addrs = System.Net.Dns.GetHostAddresses (host); foreach (var addr in addrs)