Эскиз архитектуры для стокового приложения iphone - PullRequest
1 голос
/ 22 октября 2010

В настоящее время я пытаюсь создать (упрощенное) стандартное приложение (например, встроенное в iphone). Я установил простой сервер с REST-интерфейсом, с которым мое приложение может взаимодействовать.

Однако я изо всех сил пытаюсь найти правильный / лучший способ для создания такого типа клиента (потребителя потоковых данных) на iphone.

Моя лучшая ставка на данный момент - использовать таймер для регулярного извлечения полезной нагрузки xml с сервера (соединение асинхронное, но синтаксический анализ xml отсутствует, поскольку интерфейс иногда блокируется. Я немного стесняюсь программирования потоков, так как Я усвоил некоторые уроки трудным путем на других платформах).

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

Как бы вы это сделали?

Любая подсказка будет оценена, спасибо.

Ответы [ 2 ]

0 голосов
/ 22 октября 2010

Взгляните на этот вопрос.

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

Более подробную информацию о NSURLConnection вы можете найти в документации Apple здесь

0 голосов
/ 22 октября 2010

веб-сокеты вам не помогут - это технология на стороне сервера, позволяющая работать с сокет-интерфейсом по HTTP.

Если вы не хотите блокировать графический интерфейс, вам нужно использовать другой поток. Вы правы, что боитесь делать это, поэтому делитесь как можно меньше (желательно ничего) между двумя потоками. Используйте механизм передачи сообщений для передачи информации из фонового потока в поток пользовательского интерфейса.

Взгляните на ActorKit: http://landonf.bikemonkey.org/code/iphone/ActorKit_Async_Messaging.20081203.html

...