gpt4 book ai didi

objective-c - 获取在线/离线可达性通知

转载 作者:太空狗 更新时间:2023-10-30 03:48:42 24 4
gpt4 key购买 nike

首先让我强调一下,我说的是 Mac OS X SDK,不是iPhone。

为了确定“连通性”并获取标志,我做了类似的事情:

#import <SystemConfiguration/SystemConfiguration.h>
const char *hostName = [@"google.com" cStringUsingEncoding:NSASCIIStringEncoding];
SCNetworkReachabilityRef target = SCNetworkReachabilityCreateWithName(NULL, hostName);
SCNetworkConnectionFlags flags = 0;
SCNetworkReachabilityGetFlags(target, &flags);

这很好——获取有关 Google 可达性的信息(这正是我想知道的)。

有没有办法将观察者添加到更改中?我一直在查看 SCDynamicStore,但我找到了一个 example来自 Apple 和文档有点让人不知所措。

理想情况下,我希望能够为标志更改设置一个函数,但这就足够了:注意 IP 何时“丢弃”/释放,以及何时获得。 (然后我可以在获取 IP 时触发的函数中硬编码可达性)。

请不要犹豫,要求详细说明。

最佳答案

是的,您可以使用 SCNetworkReachabilitySetCallbackSCNetworkReachabilityScheduleWithRunLoop。你不需要使用 SCDynamicStore 除非你想专门观察一个特定的网络接口(interface)。

如果你想看一个完整的例子,你可以看看我为 NCIDpop(一个网络调用者 ID 显示器)做了什么。在 this file 中搜索 SCNetworkReachability . networkReachabilityCallback 函数中的注释让您了解预期的状态转换(在我编写该代码时并没有很好地记录)。

关于objective-c - 获取在线/离线可达性通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6478152/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com