在 .NET 中检测 3G 互联网连接

2024-03-14

我们的应用程序使用 RSS 从互联网下载数据,但在连接 3G 的计算机上出现连接问题。我们想要检测 3G、EDGE、GPRS 连接,以便我们可以更改应用程序行为、显示警告或连接状态。

这将如何完成?


The NetworkInterface http://msdn.microsoft.com/en-us/library/system.net.networkinformation.networkinterface.aspx类在System.Net.NetworkInformation命名空间应该对您有一些用处(更具体地说,GetAllNetworkInterfaces http://msdn.microsoft.com/en-us/library/system.net.networkinformation.networkinterface.getallnetworkinterfaces.aspx方法。链接的 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();
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 .NET 中检测 3G 互联网连接 的相关文章

  • 如何在 C# 中向类、方法、属性等添加文档工具提示?

    不确定我的说法是否正确 但我想开始向我的类 方法 属性等添加一些文档 我know这可能是非常明显的 但我从未真正学会过 我不知道从哪里开始 只是为了澄清 每当您滚动某个类 或方法 属性等 时 它都会在 Visual Studio 中显示一个
  • 删除匹配前的一个单词和一个单词

    匹配之前的一个单词可以是一组任何符号 例如 D E F 我有一个正则表达式 s w s XXX 输入示例 This is KKK M D D xXx PPP输出示例 This is KKK PPP 所以我需要删除 XXX 之前的 1 个单词
  • 策略模式还是命令模式?

    假设我有一个金融交易列表 我需要针对这些交易执行一系列验证规则 一个例子是我有一笔购买产品的交易 但是首先我需要验证交易中的帐户是否有足够的可用资金 产品没有售完等 由于这些规则 交易将是标记为拒绝 并应指定错误代码 当然 我正在考虑用一个
  • 从另一个 FORM 中取回隐藏的 FORM

    我有两种形式Form1 and Form2 我正在打开Form2 from Form1 on button Click Form2 obj2 new Form2 this Visible false obj2 Show 然后我想回来Form
  • SQL 查询将文本数据存储在 Varbinary(max) 中

    有没有办法让 varbinary 在 SQL Server 中接受文本数据 这是我的情况 我有相当大量的 XML 我计划以 压缩 格式存储它们 这意味着 Varbinary 但是 当我进行调试时 我希望能够翻转配置开关并以纯文本形式存储 以
  • Nhibernate:连接表并从其他表获取单列

    我有以下表格 create table Users Id uniqueidentifier primary key InfoId uniqueidentifier not null unique Password nvarchar 255
  • 互联网 RFC 数据包图中预期的位(不是字节)顺序是哪个

    我正在我的家庭有线网络上解析 ICMPv6 数据报 但在特定 RFC 中找不到对位排序约定的明确提及 多字节字段是网络顺序的 但是字节内的位又如何呢 机器是按字节寻址的 但网络硬件对位进行序列化 在图表中 8 位字段 左侧 的一位最终位于无
  • 使用 IAsyncEnumerable 对另一个服务或 API 进行异步调用并批量返回响应

    我正在尝试创建一个 API 一旦准备好就返回结果 目标是 准备就绪后立即生成结果的 API 端点 消费应用程序调用端点并在数据准备好后立即处理数据 我的 API 调用另一个服务 HttpGet Route stream public asy
  • 如何 XML 序列化 DateTimeOffset 属性?

    The DateTimeOffset当数据表示为 Xml 时 我在此类中拥有的属性不会呈现 我需要做什么来告诉 Xml 序列化将其正确呈现为DateTime or DateTimeOffset XmlRoot playersConnecte
  • 忽略挂起的更改中的某些文件

    这是我的问题 我已经更改了解决方案中的某些文件 假设是 Web config 并且永远不想签入 因为这些更改仅涉及我的计算机 有没有办法在 TFS 中忽略某个文件中的更改并将其从挂起的更改窗口中删除 当然 我可以在每次签入时跳过这个文件 但
  • Api 控制器中长时间运行的任务(使用 Web API,自托管 OWIN)

    我想在自托管 OWIN 环境中的 ApiController 中运行长时间运行的任务 例如 4 5 分钟 但是 我想在开始该任务后 一旦开始长时间运行的任务 就发回响应 而不等待它完成 这个长时间运行的任务与 HTTP 无关 并且顺序运行一
  • 如果其中一台机器死机,TCP 连接如何终止?

    如果两个主机 A 和 B 之间建立了 TCP 连接 假设主机 A 已向主机 B 发送了 5 个八位字节 然后主机 B 崩溃了 由于未知原因 主机 A 将等待确认 但如果没有收到确认 将重新发送八位字节并减小发送者窗口大小 这将重复几次 直到
  • 如何在没有 Startup 类的情况下以编程方式启动 .NET 6 最小 API

    我正在尝试对我们的提供商项目实施 PactNet 合同测试 然而问题是 我们使用的是 Minimal API 因此我们没有将 Startup cs 和 Program cs 类全部整合到一个 Program cs 中 这提出了一个问题 因为
  • 如何将 Integer8 值转换为 DateTime?

    如何将 Integer8 类型值转换为 DateTime 类型值 特别是 我正在尝试获得帐户过期采用人类可读形式的 Active Directory 用户属性 SearchResult GetDirectoryEntry Propertie
  • 如果.Net Core可以在Windows上运行,为什么不能在.Net Framework中引用.Net Core DLL?

    我明白为什么 Net Framework 可能会在 Net Core IE 中导致问题 因为不存在特定于 Windows 平台的 API 但是为什么不能直接引用 Net Core 作为 Net Framework 中的库呢 如果 Net C
  • Linux TUN/TAP:无法从 TAP 设备读回数据

    问题是关于如何正确配置想要使用 Tun Tap 模块的 Linux 主机 My Goal 利用现有的路由软件 以下为APP1和APP2 但拦截并修改其发送和接收的所有消息 由Mediator完成 我的场景 Ubuntu 10 04 Mach
  • TextBox 焦点的 WinForms 事件?

    我想添加一个偶数TextBox当它有焦点时 我知道我可以用一个简单的方法来做到这一点textbox1 Focus并检查布尔值 但我不想那样做 我想这样做 this tGID Focus new System EventHandler thi
  • 调试内存不足异常

    在修复我制作的小型 ASP NET C Web 应用程序的错误时 我遇到了 OutOfMemoryException 没有关于在哪里查看的提示 因为这是一个编译时错误 如何诊断此异常 我假设这正是内存分析发挥作用的地方 有小费吗 Thank
  • string.Compare 行为

    怎么会这样呢 这是从VS2008中的立即窗口获取的 string Compare 1 string Compare 0 0 1 从言论来看字符串比较 http msdn microsoft com en us library 84787k2
  • 过期时自动重新填充缓存

    我当前缓存方法调用的结果 缓存代码遵循标准模式 如果存在 则使用缓存中的项目 否则计算结果 在返回之前将其缓存以供将来调用 我想保护客户端代码免受缓存未命中的影响 例如 当项目过期时 我正在考虑生成一个线程来等待缓存对象的生命周期 然后运行

随机推荐

  • 当我的计算机上有 Python 2、Python 3 和 Anaconda 时,如何控制将包安装到哪个 Python 发行版?

    我的 Windows 计算机上安装了以下 Python 发行版 Python 2 7 空闲 Python 3 4 空闲 蟒蛇 Python 3 4 显然 他们都将库存储在不同的位置 那么 每次需要时 如何轻松地对其中一个 不同的 进行有针对
  • 在现代浏览器中,JavaScript 书签是否有任何安全限制?

    我读了一篇article https blog lastpass com 2014 07 a note from lastpass html 关于小书签 它说小书签非常强大 它们可能很危险 例如 恶意书签可以收集你的 cookies loc
  • Visual Studio 2013 Ultimate 中 CA1502 的自定义阈值

    这个问题 CA1502 的自定义阈值 https stackoverflow com questions 21678642 custom threshold for ca1502讨论如何在代码分析中为代码指标规则设置自定义阈值 我有同样的问
  • 插入到服务中的房间而不更新活动中的 LiveData

    我正在使用 room 将前台位置服务获取的数据与活动进行通信 该服务连接到视图模型并插入数据 但是该活动不会从视图模型接收更新的 LiveData 但是它能够在开始时获取 LiveData gt 对象 并在重新启动应用程序时获取准确的大小
  • 如何将滑动速度和位置转换为对象速度

    我正在开发一款 踢球门 类型的游戏 目的是自学 Unity 3d 我有我想要的界面和功能 游戏看起来像这样 我在 OnUpdate 中使用一些代码来检测鼠标按钮何时首次按下 或触摸阶段开始 以及何时释放 或触摸阶段结束 并计算滑动方向 距离
  • 如何在React-router中手动调用Link?

    我有一个通过 props 接收的组件对象来自反应路由器 每当用户单击此组件内的 下一步 按钮时 我想调用手动对象 现在 我正在使用refs访问支持实例并手动单击 a 标签生成 问题 有没有办法手动调用链接 例如this props next
  • PHP 会话在curl 调用后未保存

    我需要通过curl脚本验证我的用户 session start POST username user POST password password ch curl init url signin php curl setopt ch CUR
  • 通过 .htaccess 从 URL 中删除参数

    我需要建议如何使用从 url 中删除参数 访问 条件如下 重定向网址来自 http example com movie 2 ref nf to http example com movie 2 我尝试了几种选择 但没有得到任何结果 感谢您的
  • sqlalchemy并发更新问题

    我有一张桌子 jobs 有字段id rank和日期时间started在 MySQL InnoDB 数据库中 每次进程获得作业时 它都会 检查 该作业并将其标记为已启动 以便其他进程不会对其进行处理 我希望一个带有会话的进程能够 找到排名最高
  • Netty连接限制

    我正在开发一个使用 netty 3 6 5 的应用程序服务器 我想先了解一下期权积压的完整含义 另外 为什么没有关于 serverbootstrap 选项的文档来帮助我们开发人员 我的另一个问题是如何最好地限制服务器的并发连接数以获得更好的
  • 实例和静态函数的重新声明

    class me private name public function construct name this gt name name public function work return You are working as th
  • SQL 列引用“id”不明确

    我尝试了以下选择 SELECT id name FROM v groups vg inner join people2v groups p2vg on vg id p2vg v group id where p2vg people id 0
  • 如何在 Haskell 中对列表进行分区?

    我想获取一个列表 或字符串 并将其拆分为 N 个元素的子列表 我该如何在 Haskell 中做到这一点 Example mysteryFunction 2 abcdefgh ab cd ef gh cabal update cabal in
  • 在 jquery 中启用/禁用下拉框

    我是 jQuery 新手 我想使用复选框启用和禁用下拉列表 这是我的html
  • 从 ruby​​-ncurses 中获取 256 种颜色

    我的终端有 256 种颜色 效果很好 测试脚本在这里 http www frexx de xterm 256 notes 但是当我使用 ncurses 通过 Ruby ncurses 时它停止工作 打印该页面上给出的转义序列工作正常 但是当
  • 这句话有什么道理呢? (Sun 对 Java 变量的命名约定)

    这几天我一直在引用Sun的文档中的这段话 直到现在我才停下来思考它在说什么 但我却无法理解它的意义 请记住 英语不是我的母语 命名约定 http java sun com docs codeconv html CodeConventions
  • Objective C 中需要指针对象

    一个非常基本的问题 但理解这些概念确实非常重要 在 C 或 C 语言中 我们通常不使用指针变量来存储值 即值简单地存储为 int a 10 但在 ios sdk 中 在 Objective C 中 我们使用的大多数对象都是通过用它们表示指针
  • 将 Laravel 事件订阅者排队

    我通过事件订阅者处理多个事件 而不是创建单独的事件 侦听器 我想对其中几个事件进行排队 但我还没有找到实现这一目标的方法 我已经关注官方了文档 https laravel com docs 5 2 events event subscrib
  • 如何获取适用于 Xcode 3.2 的 iPhone SDK 2.2.1?

    在我升级到 Snow Leopard 和 Xcode 3 2 后 我真的很后悔 Xcode 丢失了所有的 SDK 我是那些仍然想开发 2 2 1 的老式白痴之一 但苹果不向我提供旧的 SDK 下载 现在我很聪明 做了很多时间机器备份 但是
  • 在 .NET 中检测 3G 互联网连接

    我们的应用程序使用 RSS 从互联网下载数据 但在连接 3G 的计算机上出现连接问题 我们想要检测 3G EDGE GPRS 连接 以便我们可以更改应用程序行为 显示警告或连接状态 这将如何完成 The NetworkInterface h