0

Запросы, кажется, не отправляются в 3G. Вызывается код и возвращается к обратному вызову с ошибкой -1001 и следующим сообщением: «(Истекло время ожидания запроса).»NSURLConnection SendAsynchronousRequest не работает без Wi-Fi

Протокол HTTP, а не HTTP.

Код отлично работает в Wi-Fi.

Wireshark на сервере не показывает входящие данные, когда приложение находится в сети 3G (но данные принимаются в Wi-Fi).

После проверки сети в приборах: запрос отображается, но нет данных/пакетов.

код ниже:

self.request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:self.route]]; 
[self.request setHTTPMethod:self.httpMethod]; 
self.request.timeoutInterval = XX.f; 
[NSURLConnection sendAsynchronousRequest:self.request 
            queue:queue 
         completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) { 
               // Stuff actually getting called but with -1001 error code (only when NOT in Wi-Fi) 
             } 
+0

Что такое 'timeoutInterval'. Является ли служба сотовой связи хорошей, быстрой? – zaph

+0

TimeoutInterval - 10.f прямо сейчас, но, похоже, не влияет на результаты. Служба сотовой связи довольно хороша, все остальные приложения на телефоне не имеют проблем. – aout

+0

Я открыл этот вопрос, потому что (сам) предоставленный ответ не сработал в конце. Проблема кажется случайной :( – aout

ответ

0

Похоже, что OSX 10.10 Beta может повредить сетевые привилегии приложения при установке с XCode.

Проблема может быть устранена путем полной деинсталляции приложения и перезагрузки телефона (одновременное нажатие кнопки «Питание» и «Питание»).

-1

Код ошибки вы получаете (-1001) решает NSURLErrorTimedOut, что означает, что ваш запрос истекло. Я рекомендую вам проверить свой брандмауэр (на сервере). Доступен ли ваш сервер с вашего телефона? Доступно ли порт 80 с вашего телефона? Обратите внимание, что IP-адрес вашего телефона, когда вы используете WiFi, отличается от IP-адреса, который вы используете с помощью 3G.

+0

Как я уже говорил в вопрос, Wireshark не показывает никакой активности на сервере, что отрицает возможность блокировки брандмауэра. Кроме того, поскольку код точно такой же, порт не должен быть проблемой. И да, сервер доступен извне , – aout