C# · 12月 26, 2021

c# – 验证有可用的网络连接最简单的方法是什么?

我对c#/.net开发有一点新手,但是我已经在我公司中组建了一小部分资产的股票跟踪应用程序.我还设置了连接到sql 2000的数据库.

当网络连接可用时,它目前的工作非常出色,但是当我远离连接时,我希望将其扩展使用.

首先,我需要知道是否有可用的连接.所以我把它放在一起:

private int availableNetAdapters() { int nicCount = 0; foreach (NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces()) { if (nic.OperationalStatus == OperationalStatus.Up) { nicCount++; } } return nicCount; }

似乎工作,但是我必须测试“> 1”作为“MS TCP环回接口”,总是检测不管其他适配器状态.

有没有更好/更容易的方式检查连接?

G

解决方法 System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable()

您还可以使用该类中的NetworkAvailabilityChanged和NetworkAddressChanged事件来监视IP地址和网络可用性更改.

编辑:请注意,此方法检查计算机上可能的所有可用网络接口(无线,LAN等).如果他们中的任何一个连接,它将返回true.