首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法检测我使用的是哪种连接?WiFi、3G还是以太网?

问有没有办法检测我使用的是哪种连接?WiFi、3G还是以太网?
EN

Stack Overflow用户
提问于 2012-11-29 19:59:26
回答 1查看 3.4K关注 0票数 6

我正在尝试检测我连接的是哪种网络连接。是WiFi还是3G?有没有办法使用c# win forms .net 2.0或4.0来做到这一点?

代码语言:javascript
复制
        foreach (NetworkInterface adapter in adapters)
        {
            if (adapter.OperationalStatus == OperationalStatus.Up)
            {
                if (adapter.NetworkInterfaceType == NetworkInterfaceType.Wireless80211)
                {
                    lblNetworkType.Text = "you are using WiFi";
                    break;
                }
                else if (adapter.NetworkInterfaceType == NetworkInterfaceType.Ppp)
                {
                    lblNetworkType.Text = "you are using 3G or ADSL or Dialup";
                    break;
                }
                else if (adapter.NetworkInterfaceType == NetworkInterfaceType.Ethernet)
                {
                    lblNetworkType.Text = "you are using Ethernet";
                    break;
                }
            }
        }
EN

回答 1

Stack Overflow用户

发布于 2012-11-29 20:08:08

不幸的是,没有一种“整洁”的方法可以做到这一点。3G连接看起来与ADSL或拨号连接相同(网络类型为PPP)。

如果您确定您将只使用WiFi/ 3G,那么您可以检查GetAllNetworkInterfaces提供的NetworkInterface类中的信息,如果接口类型为PPP,则将其视为3G。但正如我所提到的,这对于其他类型的调制解调器连接是相同的。

编辑:在设备名称或描述中查找"3G“、"HSPA”、"HSDPA“、”加密狗“可能会有一些幸运。但这只是一个“合理的猜测”,而不是绝对肯定的。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13625359

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档