Я разрабатываю приложение для обмена сообщениями, и я должен сделать вызов серверу каждые x секунд, чтобы загрузить с сервера новые сообщения. Я использую NSTimer, который вызывает сервер каждые x сек. Но, например, x = 1 с, а ответ от сервера - через 1,5 сек. В этом случае у меня есть один новый запрос на сервер, который предшествует предыдущему запросу, и это большая проблема для логики моего приложения. Можете ли вы помочь мне понять, как я могу циклически циклически проверять сообщения на сервере, не имея этой проблемы? Спасибо.Ответ NSTimer и сервера
ответ
Остановите свой таймер перед началом веб-запроса, а затем запустите его снова, когда получите ответ.
Вы можете отправить запрос на сервер, и как только у вас появится ответ (успешный/неудачный), отправьте еще один. В этом случае вы будете уверены, что отправляется только один запрос, и вы можете легко справиться с этим.
Я думаю, что это лучшее решение. Единственная проблема заключается в следующем: что произойдет, если сервер не отправит ответ? Не существует способа повторить попытку подключения к серверу. – Anna565
Если сервер не видит ответа, вы должны увидеть сообщение об ошибке (время ожидания) и, как я уже сказал, отправить другой ответ в случае успеха и сбоя. – Greg
- 1. Подтверждение SSL и ответ сервера
- 2. на интервал NSTimer, UITableView.visibleCells неправильный ответ
- 3. NSTimer и long task
- 4. Обновление данных с сервера с помощью NSTimer
- 5. Автоматически изменять ответ сервера
- 6. Динамический ответ от сервера
- 7. Обработчик сервера XML-ответ
- 8. Ответ сервера TCP
- 9. Попытка взять ответ сервера
- 10. Ответ C++ сервера
- 11. Ответ сервера перехвата BreezeJS
- 12. Обратный ответ с сервера
- 13. минимальный ответ HTTP-сервера
- 14. как поймать ответ сервера?
- 15. Состояние NSTimer и Inactive/Sleep
- 16. Ответ SMTP-сервера: 451
- 17. См. Ответ веб-сервера
- 18. Jsonp - Ответ с сервера
- 19. Ответ сервера NSUrlSessionTaskDelegate
- 20. Node.js: Отказывает ответ сервера
- 21. Ответ Mock-сервера
- 22. Медленный ответ сервера
- 23. Синтаксический стороне сервера ответ
- 24. ловли ответ сервера
- 25. узел сервера, сокет, запрос и ответ таймаут
- 26. Запросы и ответ от netty сервера зависают
- 27. Bootstrap Modals и .net Ответ сервера C#
- 28. PHP и XML ответ от сервера
- 29. Приложения GWT и возвращаемый ответ с сервера
- 30. NSOrderedSet ответ от сервера и Core Data
Как насчет использования уведомлений Apple Push для уведомления вашего приложения, если сообщение получено для пользователя? Таким образом вам не придется постоянно регистрироваться на своем сервере, чтобы узнать, ожидает ли сообщение. – sangony
@sangony is right.Push-уведомления являются лучшим вариантом. Также имейте в виду, что этот сценарий не будет работать, если ваше приложение находится в состоянии приостановлено. Если вам не нравятся Push-уведомления, вы можете попробовать API-интерфейс Fetch API в iOS7. – Foriger