Класс доступности не работает должным образом для VPN-подключения

Я работаю над приложением, которому требуется VPN-соединение для синхронизации данных. Я использую класс достижимости, чтобы проверить доступность хоста.
@Functionality :-Когда приложение подключено к VPN через приложение Junos Pulse , синхронизация данных должна продолжаться, если VPN-подключение потеряно, должно появиться предупреждающее сообщение. Теперь он работает по сценарию, приведенному ниже.
@ Рабочий сценарий :-VPN изначально подключен, я завершил синхронизацию, а затем вручную отключил VPN от Junos Pulse. Теперь я снова пытаюсь синхронизироваться, он выдает ожидаемое предупреждение.
@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;
}
7
задан Gandalf 11 July 2012 в 08:32
поделиться