Существует метод HTTP под названием COMET , в котором клиент раскручивает поток, который делает потенциально очень долгоживущий запрос к серверу HTTP. Когда сервер хочет что-то отправить клиенту, он отправляет ответ на этот запрос. Клиент обрабатывает этот ответ и немедленно делает еще один долгоживущий запрос к серверу. Таким образом, сервер может отправлять информацию, в то время как другие вещи происходят в основном потоке (ах) выполнения клиента. Информация, отправляемая службой, может быть в любом понравившемся вам формате. (На самом деле, для клиентов в веб-браузере, выполняющих COMET с библиотекой Javascript, JSON идеально подходит.)
@ DevDevDev: Да, COMET чаще всего ассоциируется с браузером с поддержкой Javascript, но я не думаю, что так должно быть. Вы можете проверить iStreamLight , который является клиентом Objective-C для iPhone, который подключается к серверам COMET. Это также обсуждается в этом интервью с автором.