在 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(使用前将#替换为@)