检测在.NET中的3G上网(Detect a 3G internet connection in .

2019-09-17 15:50发布

使用我们的应用程序下载从互联网数据RSS,但对用3G连接的机器连接问题。 我们想检测3G,EDGE,GPRS连接,这样我们就可以改变应用程序的行为,显示警告或连接状态。

这将如何做呢?

Answer 1:

NetworkInterface班上System.Net.NetworkInformation命名空间应该是一些使用你(更具体地说,的GetAllNetworkInterfaces方法。一个例子显示,演示了如何获取类型,地址,工作状态的MSDN链接页面上,和其他大约每网络接口信息。

MSDN例子的简化版本:

public static void ShowNetworkInterfaces()
{
    IPGlobalProperties computerProperties = IPGlobalProperties.GetIPGlobalProperties();
    NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
    Console.WriteLine("Interface information for {0}.{1}     ",
            computerProperties.HostName, computerProperties.DomainName);
    if (nics == null || nics.Length < 1)
    {
        Console.WriteLine("  No network interfaces found.");
        return;
    }

    Console.WriteLine("  Number of interfaces .................... : {0}", nics.Length);
    foreach (NetworkInterface adapter in nics)
    {
        IPInterfaceProperties properties = adapter.GetIPProperties();
        Console.WriteLine();
        Console.WriteLine(adapter.Description);
        Console.WriteLine(String.Empty.PadLeft(adapter.Description.Length,'='));
        Console.WriteLine("  Interface type .......................... : {0}", adapter.NetworkInterfaceType);
        Console.WriteLine("  Physical Address ........................ : {0}", 
                   adapter.GetPhysicalAddress().ToString());
        Console.WriteLine("  Operational status ...................... : {0}", 
            adapter.OperationalStatus);

        Console.WriteLine();
    }
}


文章来源: Detect a 3G internet connection in .NET