当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《验证可用网络连接的最简单方法是什么?》经验,为你挑选了2个好方法。

我是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



1> Luke..:

System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable()

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

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


如果我错了,请纠正我,但是这也不会列举蓝牙吗?这似乎是一个不理想的结果.

2> Joel Coehoor..:

还有一些事情要记住:

Avaialable网络连接!=可用的互联网连接.

Internet Access!=访问特定网站(想想代理过滤器,或者网站可能只是关闭)

因此,通常最好直接测试对所需特定资源的访问.

这些资源不稳定; 无论如何,你必须处理异常.因此,通常最好只获得一个资源,就好像你确定它存在并将开发时间放在一起,以确保你的异常处理程序能够很好地处理失败.

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有