Приложение для iPhone / iPad прерывается Ошибка «Сетевое соединение потеряно» - PullRequest
0 голосов
/ 19 августа 2011

Привет, ребята. Я разработал приложение для iPhone / iPad. Это приложение делает регулярные вызовы SOAP для получения данных. У меня сейчас серьезные проблемы с этой частью приложения.

Для получения данных я использовал стандартный метод SOAP для подключения к серверу, используя NSURLConnection & NSMutableURLRequest. Я реализовал обычные делегаты ...

- (void) connection: (NSURLConnection *) connection didReceiveResponse: (NSURLResponse *) response 
{
}

- (void) connection: (NSURLConnection *) connection didReceiveData: (NSData *) data 
{   
}

- (void) connection: (NSURLConnection *) connection didFailWithError: (NSError *) error 
{
}

- (void)connectionDidFinishLoading:(NSURLConnection *)connection 
{
}

Это все работает хорошо ... большую часть времени. Однако, если приложение переходит в спящий режим, и я инициирую один из этих мыльных вызовов, мне иногда (но слишком часто для клиентов) возвращается одна из двух ошибок. Это ...

Error Domain = NSURLErrorDomainCode = -1005 "Сетевое соединение потеряно." ИЛИ ЖЕ Ошибка домена = NSURLErrorDomainCode = -1001 "Время ожидания истекло."

Это сводит меня с ума!

Если я инициирую немедленное обновление (вызывает ТОЧНЫЙ код), вызов тогда будет успешным. Таким образом, в основном кажется, что спящий режим портит беспроводное соединение, в результате чего первый вызов SOAP после сбоя сна.

Кто-нибудь видел это? Есть ли разрешение? Я кодировал, используя 4.3 SDK на MacBook со Snow Leopard.

Очень ценю любые отзывы на этот счет. Я провел дни на этом.

Дерек.

1 Ответ

0 голосов
/ 19 августа 2011

Если вы не решите проблему с источником, попробуйте один раз повторить попытку для этой конкретной ошибки, возможно, с задержкой в ​​полсекунды.Для принудительного выполнения одной повторной попытки вы можете сохранить количество повторных попыток, которое сбрасывается при успешной публикации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...