Push-уведомления в протоколе Restful для iOS - PullRequest
2 голосов
/ 04 февраля 2012

Я работаю над приложением для iOS, которое должно поддерживать соединение с веб-сервисом.

Я думал о разработке протокола RESTFul между моим приложением и сервером. Но дело в том, что сервер также должен иметь возможность передавать данные в приложение. Поэтому мне интересно, смогу ли я сделать это только с помощью Apple SDK, используя NSURLConnection и предоставленный парсер xml ...

Точнее, возможно ли поддерживать NSURLConnection до тех пор, пока приложение работает и обрабатывает данные, поступающие с сервера, без необходимости запрашивать его у приложения? Нужно ли отправлять пакеты Keep-alive или что-то еще?

Заранее спасибо за помощь!

Ответы [ 2 ]

1 голос
/ 04 февраля 2012

Вам нужно будет отправить пакеты поддержки активности или аналогичные, потому что ваше соединение в какой-то момент будет иметь время ожидания (вы, конечно, можете просто установить очень, очень высокое время ожидания для вашего NSURLConnection, но это не так.лучшая идея, так как вам будет трудно понять, когда ваш сервис действительно истек истек .

Тем не менее, делать то, что вы предлагаете на мобильном устройстве, проблематично, потому что питаниесотовое радио занимает сравнительно большое количество батареи.Документация Apple настоятельно рекомендует сводить сетевой трафик к минимуму.Лучшее решение, вероятно, будет делать то, что Apple делает для push-уведомлений, - используя сокеты для передачи ваших данных.Однако это немного сложнее, чем просто использовать NSURLConnections.

0 голосов
/ 04 февраля 2012

Одним из решений было бы иметь интерфейс RESTful между приложением и использовать уведомления Apple Push.Затем iOS берет на себя основное подключение к серверу push.На самом деле он поддерживает TCP-соединение.Все соединения с сервером могут использовать ваши RESTful-сервисы, включая регистрацию токенов, которые вам нужно отправить на ваш собственный сервер.Это решение, которое я использовал сам, и оно работает как шарм.

...