Приложение для iPhone попадает в состояние, когда сетевые запросы никогда не выполняются - PullRequest
16 голосов
/ 02 июля 2011

Время от времени мое приложение для iPhone попадает в состояние, когда сетевые запросы всегда прерываются, даже если другие приложения работают нормально (и даже могут получать доступ к тем же сайтам).Это явно не связано с изменениями в доступности сети, и происходит как в 3G, так и через WiFi.Любые предложения о том, как диагностировать проблему?

(FWIW, приложение использует MonoTouch и HttpWebRequest, но я подозреваю, что что-то идет не так, это более низкий уровень.)

Примечание: Проблема сохраняется через фоновое приложение и изменение конфигурации сети;кажется, что единственное исправление - убить приложение и перезапустить его.

Обновления: Я пытался использовать Reachability, но безрезультатно.Reachability.InternetConnectionStatus всегда возвращает ReachableViaWiFiNetwork (или ReachableViaCarrierDataNetwork, в зависимости; аналогично IsHostReachable() всегда возвращает истину. Runtime.StartWWAN(), похоже, не имеет значения.

Ответы [ 2 ]

6 голосов
/ 07 июля 2011

Об этом была открыта ошибка в https://bugzilla.novell.com/show_bug.cgi?id=555439, и было несколько попыток ее устранения. Что касается последнего комментария об ошибке, он предположительно был исправлен, но я думаю, что если вы используете MonoTouch 4.0.3, то есть некоторые случаи, которые не обходятся.

В основном, проблема отражена в этом другом вопросе Stackoverflow: Включение iPhone 3G Connection

Для решения этой проблемы MonoTouch вызывает MonoTouch.Runtime.StartWWAN (Uri), который открывает фиктивное соединение с URI с помощью NSUrlConnection для принудительного пробуждения сетевого интерфейса. Затем MonoTouch возвращается к использованию API сокета BSD внутри HttpWebRequest.

0 голосов
/ 19 декабря 2012

Попробуйте установить свойство timeOutInterval NSURLRequest, используемого для совершения вызова.

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