异步网络接口状态检查

2024-01-04

在 Mac OS X 上,有没有办法在网络接口(en0、en1)状态发生变化(例如网络接口处于活动状态、非活动状态等)时获取异步通知?

我想知道是否有一种方法可以获取异步通知,而不是轮询状态,以便每当有更改时,都会触发通知并且应用程序可以处理它。

这可能吗?

Thanks,


这取决于您想要了解的网络状态变化(例如,您只是想知道何时获得或失去网络连接,还是想知道是否切换了 WiFi 网络或某些网络连接)像这样更深奥的细节),如果您提供更多详细信息,我可以提供更好的答案,但一般来说我认为你想使用 SystemConfiguration 框架,具体来说可能是SystemConfiguration/SCNetworkReachability.h APIs(苹果文档中有描述here https://developer.apple.com/documentation/systemconfiguration/scnetworkreachability-g7d).

更具体地说,我认为SCNetworkReachabilityCallBack是您要使用的回调函数的类型。这里 https://developer.apple.com/documentation/systemconfiguration/scnetworkreachabilitycallback是苹果的文档。

最后,要设置该回调,我的意思是首先您必须编写回调函数,但要“注册”它,以便 SystemConfiguration 在您的网络状态发生变化时使用它来回调您,请使用这个家伙:SCNetworkReachabilitySetCallback(_:_:_:)Apple 官方文档中描述here https://developer.apple.com/documentation/systemconfiguration/1514903-scnetworkreachabilitysetcallback.

希望这会有所帮助,如果您需要更具体的帮助,只需为您的问题添加更多细节:)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

异步网络接口状态检查 的相关文章

  • MVC 2视图显示错误的模型信息

    我在一个项目中使用 MVC 2 但我遇到了视图问题 在控制器中我有代码 return View calendarDay 如果我调试这一行并检查 calendarDay 它会告诉我 calendarDay Id 属性等于 2 在视图中我有一些
  • 资源文件中的控制字符 C#

    我想添加Left To Right控制字符在resource resx文件输入Visual Studio 我在互联网上搜索并找到了一个名为在 NET 资源文件中转义序列的另一种方法 http www devx com tips Tip 34
  • C++ 构造函数根据参数类型调用另一个构造函数

    我有这门课 class XXX public XXX struct yyy XXX std string private struct xxx data 第一个构造函数 使用结构 很容易实现 第二 我可以将一个字符串以特定的格式分开 解析
  • Linq Any 始终返回 true

    我已经使用 Linq to Entities 多年 但这是我第一次遇到这个问题 我有Tips and Items表 每个提示可以有很多项目 我的数据库中只有 3 个项目 编辑项目时 我想确保GivenId对于具有相同提示的项目 字段是唯一的
  • 委托 System.Action 不接受 1 个参数

    那个行动 readonly Action execute public RelayCommand Action execute this execute null public RelayCommand Action execute Fun
  • Motif 库的水平绘制的 RowColumn 类 (C)?

    我正在使用 Motif Library 来完成我的工作 如果有人不熟悉这个库 您可以在这里找到文件列表https packages ubuntu com xenial amd64 libmotif dev filelist https pa
  • 改装和授权标头

    目前 我正在向我的请求添加授权标头 如下所示 文件 SomeFile cs public interface ITestApi Get api test id Task
  • 从 pdf 和 word 文件中提取文本

    如何在 C 中从 pdf 或 word 文件中提取文本 删除粗体 图像和其他富文本格式媒体 您可以使用专为索引服务设计 由索引服务使用的过滤器 它们旨在从各种文档中提取纯文本 这对于在文档内部进行搜索非常有用 您可以将其用于 Office
  • 具有 Nhibernate 设计问题的领域模型

    我正在尝试进入 DDD with C 世界 我使用NHibernate作为我的ORM工具 因此尝试开发一个PI Persistence Ignorance 模型 但是 在我的一些实体 表示为 POCOS 中 我的属性设置器中有业务规则 例如
  • C#:如何计算纵横比

    我对编程比较陌生 我需要根据给定尺寸 例如 axb 计算纵横比 16 9 或 4 3 我如何使用 C 来实现这一点 任何帮助将不胜感激 public string AspectRatio int x int y code am lookin
  • GKLocalPlayer 身份验证不起作用,但 isAuthenticated 返回 YES(游戏中心沙盒)

    我正在努力将回合制比赛集成到我的游戏中 几天前 我开始从 GameKit API 收到奇怪的错误 指出本地玩家未经过身份验证 尽管他已通过身份验证 当我启动应用程序时 authenticateHandler被调用 显示视图控制器 输入密码后
  • 更改 Json 中属性的键

    这些天我正在尝试制作一个 json 编辑器 与树视图一起使用 我确实更改了值函数 我也可以更改一些键 但我无法在对象中设置键 我可以设置值 SetValue ref JObject main JToken token JToken newV
  • C++ 访问嵌套类的私有成员

    标题可能有点误导 我有以下问题 我有一棵由叶子和内部节点组成的树 用户应该能够在叶子中存储任何信息and该树有一些方法可以获取一组用户定义的值 并且需要在恒定时间内 未摊销 访问相应的叶子 我提出了以下想法 但它不起作用 因为不幸的是我无法
  • 即使在不活动状态下,Hangfire 也会继续运行 SQL 查询

    我正在开发一个 ASP net MVC 5 网站 并使用 Hangfire 来安排一些任务 在本例中每 3 分钟一次 我知道一个事实是 运行这样的任务 以及与之相关的数据库查询 只需要几秒钟 我面临的问题是 Hangfire 似乎让我的 S
  • 在 Visual Studio 2017 mac 上安装扩展 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在尝试在 Visual Studio for Mac 上安装 Visual Studio Marketplace 扩展 但是 Vi
  • 如何在mvc视图中的表中显示数据库数据

    在我的 MVC 应用程序中 我从数据库检索数据 我想在表格中显示退役数据 控制器代码 public ActionResult MyAccount var user User Identity Name string sThumbnails
  • 我如何在 WPF 中模仿这种行为?

    我对 WPF 和 C 开发相当陌生 我正在制作这个应用程序 我不知道是否有人熟悉 VOIP App Discord 但他们有一个我非常喜欢的特定行为 并且想尝试使用 WPF 创建类似的风格 当您在 Discord 上添加服务器时 单击一个按
  • SQlite 查询 - 如何检索多列数据?

    我很难在网上找到一个关于使用 xcode 和 cocos2dx 从 SQlite DB 获取多个值的工作示例 这是我的sql查询 char sql query 100 sprintf sql query SELECT FROM SQList
  • Swift 和 Objective-C 框架公开其内部结构

    我正在尝试将 Swift 添加到具有公共 私有和项目文件的现有 Objective C 框架中 为了让 Swift 能够访问项目文件 我添加了一个定义新模块的模块映射 例如MyFramework Internal 通过包含所有项目标题 如下
  • Windows 安装程序 (C#) 错误代码 2869

    我在 VS 2005 中有一个项目 其中有一个控制台应用程序和一个与安装该应用程序关联的安装项目 我在控制台应用程序中还有一个安装程序类 安装项目将使用它在安装前进行一些验证 这些任务正在检查数据库连接字符串并检查某些目录位置以确保它们在安

随机推荐

  • 在 R 中的 rename() 函数内部使用外部变量

    我是新来的R并且有问题 我正在尝试重新格式化一些数据 在此过程中我想重命名新数据集的列 这是我尝试执行此操作的方法 首先是 csv文件被读入 可以说case1 case2 csv然后是名称 csv文件分为两部分 每个部分都分配给一个向量 所
  • 如何使 React HOC - 高阶组件协同工作?

    我有一个像这样的小演示组件 function MyList data uppercaseMe lowercaseMe return ul data map item gt li item li ul
  • javafx canvas 几秒钟后停止显示(我正在尝试百万个椭圆)

    我试图每秒在画布上动态显示一百万个椭圆形 我使用线程作为渲染线程 但我的问题是 几秒钟后 画布冻结并停止显示 我猜缓冲区已满 无法再显示 但是如何清除缓冲区呢 测试源码如下 public class Main extends Applica
  • Cucumber:填写带双引号的字段

    我有一些 Rails 应用程序 一个带有字段的视图 可以说它叫做 some field 我想填写 SOME STRING WITH QUOTES 字段 我怎样才能在黄瓜中做到这一点 When I fill in some field wit
  • 如何使用 Yii2 kartik gridview 可编辑列与多个模型关系

    问题 我有 2 个模型 用户模型和用户配置文件模型 两者都与主键和外键 user id 相关 用户表有字段 id 用户名 密码 电子邮件等 user profile表包含id user id 公司 电话等 我在用户视图中创建了gridvie
  • 没有html的innerHTML,只有文本[重复]

    这个问题在这里已经有答案了 我创建了一个电子邮件链接 它会自动填充正文中的必要信息 但是 当我执行 innerHTML 时 我得到的比我预想的要多一些 我想要 2012 年 3 月 12 16 我得到什么 b March 2012 b fo
  • 有没有办法更改谷歌一键提示的语言?

    目前 谷歌一键提示仅以英文呈现 有没有一种方法可以将区域设置传递给 javascript api 以便以该特定语言呈现提示 抱歉这么晚才回复 但是我最近遇到了同样的问题 官方文档没有提供处理提示本地化的直接方法 我发现的最接近的想法是 li
  • 如何获取hive UDF中的taskID或mapperID(类似于Spark中的partitionID)?

    作为问题 如何在 hive UDF 中获取任务 ID 或映射器 ID 类似于 Spark 中的分区 ID 您可以使用 TaskContext 访问任务信息 import org apache spark TaskContext sc par
  • Facebook oauth 授权 URL 和参数选项

    Facebook 提供了一些关于参数的文档oauth login 登录对话框 OAuth 2 https developers facebook com docs reference dialogs oauth 参数为 client id
  • Java 6 中 IdentityHashMap 的实际使用[重复]

    这个问题在这里已经有答案了 可能的重复 IdentityHashMap 的用例 https stackoverflow com questions 838528 use cases for identityhashmap Java 5 中引
  • Android ActionBarSherlock 顶部图标返回

    我正在尝试制作顶部操作栏图标以允许用户返回到上一个屏幕 我试图实现这些代码 但没有一个起作用 任何人都可以指导我吗 我知道这看起来很简单 我是 android 新手 下面是我的代码 问题 当我点击图标按钮时 它只是清除了我的屏幕 而没有转到
  • com.android.build.gradle.api.BaseVariant.getOutputs()Ljava/util/List;'

    错误 无法找到方法 com android build gradle api BaseVariant getOutputs Ljava util List 导致此意外错误的可能原因包括 Gradle 的依赖项缓存可能已损坏 这有时会在网络连
  • 如何确定 ColdFusion 应用程序使用哪些文件?

    我正在开始对现有的 ColdFusion 应用程序进行一些工作 该应用程序没有版本控制 并且看起来像是未使用的 cfm 文件 test cfm test2 cfm 等 我想了解哪些文件实际上是应用程序的一部分 这样我就可以将其以可管理的状态
  • VBScript 环境变量

    我有一个关于应该如何修复运行脚本时看到的错误的问题 我很确定这与我使用 COMPUTERNAME 环境变量的方式有关 我的脚本的作用是在本地压缩一些文件 然后使用 robocopy 将它们复制到已安装或共享的驱动器 然后检查文件大小是否相同
  • 将新记录添加到 GridView 但不应更新数据库

    我有一个绑定到数据视图的网格视图 OnPageLoad 我正在填充网格视图记录 我有一个文本框和一个按钮 所以现在我想向 GridView 添加更多记录 但这些记录不应添加到数据库中 它们只是添加到页面中 当然来自数据库的默认记录也会保留
  • Python 中的就地函数

    Python中有一个就地函数的概念 例如shuffle就位 因为它返回None 如何确定函数是否就位 from random import shuffle print type shuffle
  • Javascript 中的函数是对象还是类型?

    In his 雄辩的 JavaScript Haverbeke 声称 第 16 页 在 JavaScript 系统中 大部分数据被整齐地分成称为值的东西 每个值都有一个类型 它决定了它可以扮演的角色 值有六种基本类型 数字 字符串 布尔值
  • Herkou Redis - 证书验证失败(证书链中的自签名证书)

    我在我的一个业余项目中使用 heroku redis 一段时间了 我目前用它来做三件事 它是我存储 firebase 证书的地方 它用于缓存站点上的数据 它用于 Rails sidekiq 作业 最近 我的 heroku 使用量增加了 我不
  • 自动释放池中的快速闭包访问没有 self 的方法

    这是示例代码 func anyMethod Nothing here var myVariable autoreleasepool anyMethod This should show error print myVariable This
  • 异步网络接口状态检查

    在 Mac OS X 上 有没有办法在网络接口 en0 en1 状态发生变化 例如网络接口处于活动状态 非活动状态等 时获取异步通知 我想知道是否有一种方法可以获取异步通知 而不是轮询状态 以便每当有更改时 都会触发通知并且应用程序可以处理