2012-07-22 59 views
1

我已经搜索了很多,我仍然没有任何运气。问题是,如果我从我的服务器上查找,如果主机有IPv6地址,我会在列表中看到它。但是,如果我使用.Net System.Net的Dns.GetHostAddresses(域),它只会返回IPv4地址。.Net Dns.GetHostAddresses(域) - 返回ipv6地址

有了大量的阅读,我发现:如果本地计算机没有安装IPv6,IPv6地址将从GetHostAddresses方法的结果中过滤掉。

我在只有IPv4的网络中。我不需要ping或具有实际的网络连接,只需要为主机返回一个IPv6地址,如同我说的那样,它可以在同一台服务器上使用nslookup。

任何人都可以告诉我如何使用.Net获得IPv6地址,即使您碰巧在IPv4网络中?

感谢

+0

什么是“域”,你传递给GetHostAddresses的东西? – 2012-07-22 21:07:47

回答

0

如果我叫GetHostAddresses( “localhost” 的),我得到IPv4和IPv6地址。因此,在您的网络中,无论哪个域包含,都没有分配IPv6地址。

尝试:

var addresses = Dns.GetHostAddresses(Dns.GetHostName()); 

你会得到什么样的结果?