找到Dns.GetHostEntry返回的正确IP地址

时间:2011-06-22 23:18:57

标签: c# .net networking dns

假设同一网络上有2台计算机,名为com1和com2。

在com1上,如果我打电话

Dns.GetHostEntry("com2")

当然,它只返回1个ip地址,如192.168.1.2,我可以用它来与com2通信。但是,如果我打电话

Dns.GetHostEntry("com1")

它将返回所有 IP地址(192.168.1.1(我想要的)以及其他地址,如169.254.100.50(虚拟机地址,我需要过滤掉它))

问题是,在这种情况下,如何为com1获取唯一的“真实”IP地址?

提前致谢。

3 个答案:

答案 0 :(得分:2)

This question & answers可能会提供一些有用的信息来获取“正确的”IP地址。

答案 1 :(得分:1)

经过一番研究,这个问题实际上很难回答。如果“com1”有多个网卡,很难找到它用来与“com2”通信的网卡,我发现this SO link在连接到互联网的网卡上获取地址,虚拟机地址将无法连接到互联网显然要求“com1”本身找到它用来连接“com2”的网卡很难,而应该改为询问“com2”。

答案 2 :(得分:0)

好的,那么您可以检查“com2”的防火墙设置或通过关闭它来测试它。