我这里有一些在IPv4机器上运行良好的代码,但是在我们的构建服务器(IPv6)上,它失败了。简而言之:
IPHostEntry ipHostEntry = Dns.GetHostEntry(string.Empty);
GetHostEntry的文档说,传入string.Empty将获得本地主机的IPv4地址。这就是我要的。问题是它在我们的IPv6机器上返回字符串“ :: 1:”,我相信这是IPv6地址。
从任何其他IPv4机器ping机器会提供一个良好的IPv4地址…,从自身执行 ping“ -4机器名” 会给出正确的IPv4地址....但是定期从自身ping会产生“ :: 1:”。
如何从本机获取此计算机的IPv4?
您是否查看了退货中的所有地址,丢弃了InterNetworkV6系列的地址,而仅保留IPv4的地址?