如何获取主机的主要IP地址?

3
调用以下代码会返回一个包含所有IP地址的列表。
Dns.GetHostAddresses(Dns.GetHostName())

根据机器配置的不同,有时会返回多个IP地址。那么问题来了,如何确定哪个是主IP地址?需要枚举NIC吗?


如果 DNS 在您发出调用时不起作用,那么这也可能会给您一个错误的答案(或没有答案)。 - nobody
1个回答

11

“主”IP地址并不存在。

路由表根据目标IP地址(以及网络接口,该接口可以是虚拟的或物理的)决定使用哪个外部IP地址。

如果您想查看路由表,请使用IP Helper API


+1。使用列表中的第一个或最后一个都可以。如果它们在DNS中,那么所有这些都应该有效。如果它们不起作用,它们就不应该在DNS中。Quad erat某事 :-) - paxdiablo
2
有一个顺序,多个NIC在其中使用(在XP中,网络连接>高级>高级设置),但这可能比问题所问的更深入。 - Brandon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接