【发布时间】:2015-03-06 12:48:18
【问题描述】:
我在尝试从本地 PC 获取一些子网信息时遇到了一些困难。此代码“技术上”运行良好,因为它不包含警告或错误,但是当应用程序运行时,返回的只是“0.0.0.0”我的应用程序中有其他非常相似的代码请求 IP 地址、默认网关等。这工作得很好,所以我现在不知道为什么这没有返回子网掩码。任何帮助,将不胜感激!是否有一些非常明显的东西我错过了,这就是为什么这不起作用?
NetworkInterface[] subnetInterface = NetworkInterface.GetAllNetworkInterfaces();
foreach (NetworkInterface subnetMask in subnetInterface)
{
UnicastIPAddressInformationCollection UnicastIPInfoCol = subnetMask.GetIPProperties().UnicastAddresses;
foreach (UnicastIPAddressInformation UnicatIPInfo in UnicastIPInfoCol)
{
subnetMaskLabel.Content = UnicatIPInfo.IPv4Mask;
}
我有 3 个网络适配器、2 个 VMWare 目前已为此应用程序禁用,还有 1 个本地连接已启用,以便应用程序仅查看该连接。
更新 我试图解决获取“255.0.0.0”的问题但没有成功。当我在应用程序中放置断点时,当信息在“subnetMaskLabel.Content = UnicatIPInfo.IPv4Mask;”中传递时语法存储的值是正确的子网掩码,但是它显示的子网掩码不正确,有什么想法可以解决这个问题吗?
【问题讨论】:
-
谢谢 Mitz,我会重新检查这些链接以确保我没有做错任何事情,但是我已经尝试过它们,但仍然遇到同样的问题。