gpt4 book ai didi

ios - 可达性等级无法正常用于 VPN 连接

转载 作者:可可西里 更新时间:2023-11-01 03:34:40 26 4
gpt4 key购买 nike

我正在开发一个需要 VPN 连接以进行数据同步的应用程序。我正在使用可达性类来检查主机可用性。
@Functionality:- 当应用程序通过 Junos Pulse 应用程序连接到 VPN 时,如果 VPN 连接丢失,数据同步应该继续,它应该抛出警报消息。现在它正在为下面给出的场景工作。
@Working 场景:- VPN 最初是连接的,我完成了同步,然后从 Junos Pulse 手动断开了 VPN。现在我正在尝试再次同步它正在抛出预期的警报。
@Problem Scenarion :- 我最初完成了同步并让应用程序闲置以自动断开 VPN 连接。现在,在 VPN 消失后,我正在尝试再次同步。它不会通过 VPN 不存在的警报。它尝试同步功能,但由于没有 VPN 无法访问服务器而失败。

我在互联网上搜索它的解决方案时感到筋疲力尽。我在这里粘贴我的代码片段。非常感谢任何建议。

-(BOOL)checkHostAvailability
{
Reachability *objReach = [Reachability reachabilityWithHostName:[self hostServer]];
NetworkStatus hostAvailability = [objReach currentReachabilityStatus];
if(hostAvailability == ReachableViaWiFi || hostAvailability == ReachableViaWWAN) {
RLog(@"Host is Reachable");
return YES;
}
return NO;
}

最佳答案

iOS 似乎有一个错误。当您使用蜂窝连接(或 WiFi)连接 VPN,然后切换到 WiFi(或蜂窝)时,系统不会检测到这一点。 Reachability 不会发布任何通知,因为 iOS 仍然认为您没有切换界面。

我设法通过以下方式重现它:

  1. 使用 NetworkExtension 框架在 3G 上连接 VPN,禁用点播。
  2. 切换到 WiFi 网络。
  3. 已从 WiFI 路由器上拔下以太网线,因此路由器无法共享互联网。
  4. 检查设备上是否有互联网并启用了 VPN。

它就在那里。这意味着,所有流量都来自蜂窝网络。

关于ios - 可达性等级无法正常用于 VPN 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11428590/

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