Приложение для iOS с обновлениями в реальном времени с сервера: Socket (с использованием потоков) или служба Apple Push Notification? - PullRequest
14 голосов
/ 22 ноября 2011

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

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

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

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

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

Ответы [ 2 ]

5 голосов
/ 22 ноября 2011

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

3 голосов
/ 22 ноября 2011

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

...