Лучшие практики для сохранения постоянного сокета открытым для сервера для приложения IOS - PullRequest
4 голосов
/ 13 декабря 2011

Мое приложение требует открытого соединения с сервером для обновления в реальном времени.Мне нужно иметь возможность перемещаться по нескольким представлениям, во время которых я могу отправлять и получать данные асинхронно.Цель состоит в том, чтобы приложение автоматически обновляло данные в режиме реального времени.

Я хотел бы иметь отдельный класс диспетчера сокетов, унаследованный от NSObject, который имеет функции делегата CocoaAsyncSocket плюс некоторые вспомогательные функции, изатем, когда что-то происходит с постоянным сокетом, он обрабатывается в классе, и он отправляет уведомления, которые имеют разные эффекты в зависимости от того, какое представление вы используете в данный момент.

Какой предпочтительный способ сделать это?Установите протокол для этого менеджера сокетов, и каждый пользовательский интерфейс должен быть делегатом *?Или мне было бы лучше, если бы менеджер сокетов сидел в фоновом потоке и отправлял уведомления?Есть ли предпочтительный выбор в отношении времени автономной работы?

* Более или менее похоже на http://www.raywenderlich.com/3932/how-to-create-a-socket-based-iphone-app-and-server

...