G-.*_*G-. 9 .net c# networking .net-2.0
我是c#/ .net开发的新手,但我已经为我公司的一小部分资产组建了一个股票跟踪应用程序.我还设置了它在SQL 2000中连接的数据库.
当网络连接可用时,它目前工作得非常出色,但是当我远离连接时,我想扩展它以供使用.
首先,我需要知道是否有可用的连接.所以我把它放在一起:
private int availableNetAdapters()
{
int nicCount = 0;
foreach (NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces())
{
if (nic.OperationalStatus == OperationalStatus.Up)
{
nicCount++;
}
}
return nicCount;
}
Run Code Online (Sandbox Code Playgroud)
似乎工作,但我必须测试"> 1",因为无论其他适配器状态如何,始终检测到"MS TCP环回接口".
是否有更好/更简单的方法来检查连接?
G
System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable()
您还可以使用事件NetworkAvailabilityChanged
和NetworkAddressChanged
该类来监视IP地址和网络可用性更改.
编辑:请注意,此方法会检查计算机上可能存在的所有可用网络接口(无线,LAN等).如果其中任何一个连接,它将返回true.
还有一些事情要记住:
因此,通常最好直接测试对所需特定资源的访问.
这些资源不稳定; 无论如何,你必须处理异常.因此,通常最好只获得一个资源,就好像你确定它存在并将开发时间放在一起,以确保你的异常处理程序能够很好地处理失败.
归档时间: |
|
查看次数: |
1625 次 |
最近记录: |