IOS с обновлениями в реальном времени с сервера: Socket (используя потоки) или Apple Push Notification?

Я пытаюсь сделать приложение iOS 5, которое показывает в реальном времени все, что приходит с сервера. Он будет использовать их только во время работы приложения.

Чтобы сделать это в режиме реального времени без опроса, я оценил два маршрута проектирования:


Создание сокета из приложения на сервер и обмен информацией через потоки.

Использование стандартного HTTP для связи с сервером и с каждым запросом из приложения позволяют серверу знать, что они просматривают. Если для пользователя доступно что-то новое, отправьте уведомление Apple Push (без видимого предупреждения), чтобы приложение могло узнать, что оно может пойти и загрузить новую вещь.


Я думаю, что сокет будет подходящим для вас способом, но прежде чем я это сделаю, мне нужно второе мнение, так как это первый раз, когда я сделал что-то подобное!

Ответ 1

Нужно ли быть "полным реальным временем"? С моей точки зрения, я бы предпочел http, поскольку он уже хорошо интегрирован в SDK iOS. Его легко понять, поддерживать и внедрять, и много документации находится в Интернете. Так что, возможно, опрос http каждую минуту или около того будет достаточно (в зависимости от приложения и количества пользователей). Также обратите внимание на брандмауэры! Трафик на неизвестные порты может быть отклонен из-за политики межсетевого экрана поставщика или локального Wi-Fi. Поэтому, если вам действительно нужно подключение в реальном времени, я думаю, вам нужно использовать сокеты.

Ответ 2

Сокеты будут моим выбором. Я не знаю, как важно время для вашего приложения, но сокеты могут работать лучше, чем APN, если требуется реальное время.