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