如何识别特定
NetworkInterface
的连接状态? NetworkInterface[] nets = NetworkInterface.GetAllNetworkInterfaces();
foreach (var n in nets)
{
// TODO: determine connectivity status of each network interface
// ( mainly interested in IPv4 connectivity )
}
- 这个问题与一般的互联网连接无关,因此使用例如
GetIsNetworkAvailable()
并不是一个解决方案。 OperationalStatus.Up
可以用于过滤掉一些非活动网络接口,但不是全部 - OperationalStatus.Up会保留一些显示“没有网络访问”的IPv4和IPv6接口。- 我也知道如何获取IPv4
UnicastAddresses
,但那有什么用呢? - 我在WMI的这些部分中找不到任何相关内容。