У меня возникла странная проблема, когда я использую свой API из своего приложения. Иногда, без всякой причины, то запрос просто не передается, и он не в конце тайм-аут со следующей ошибкой:Запрос не отправлен
Error Domain=NSURLErrorDomain Code=-1001 "The request timed out."
Я пробовал много API, такие как NSURLConnection
делегатов, NSURLSession
и NSURLConnection.sendSynchronousRequest
без успех.
Вот пример проекта, который я сделал, чтобы выделить проблему. ConnectionBugApp
Вот шаги для воспроизведения:
- Запустите приложение в Xcode и остановить отладку просто так, что приложение на телефоне
- Откройте приложение, нажмите кнопку Test Connection (это удается, загрузки колеса прекращается прялка сразу же)
- Перейти в другие приложения, такие как facebook/twitter/сетевые игры (несколько немного тяжелые) и несколько раз переключиться на режим самолета
- Вернитесь к моему приложению и нажмите «Проверить соединение» (загрузочное колесо никогда не останавливается)
Несколько деталей, которые могли бы помочь:
Если я использую мой IP сервера вместо моего доменного имени, она преуспевает
Проблема возникает только тогда, когда в сети LTE/4G
Любые идеи или обходные пути были бы очень признательны! Не стесняйтесь спрашивать подробности.
Благодаря
EDIT
Я отредактированные описании много, так как я первый отправил его (в надежде сделать его чище и чище), я прошу прощения, если некоторые ответы или комментарии Дон» Это действительно имеет смысл.
Если вы используете API NSURLSession, воспроизводится ли проблема? –
@LeoNatan, да, у меня такая же проблема с 'NSURLSession' – streem
Что вы видите на стороне сервера? Вы видите, что сервер принимает клиентское соединение или даже не достигает сервера? Я бы сказал, что это похоже на сервер, вы отбрасываете соединение. Возможно, брандмауэр. –