Как сделать HTTP Server Push - иначе мне нужен STOMP, AMPQ и т. Д.? - PullRequest
1 голос
/ 07 октября 2009

Я пишу коллекцию веб-сервисов, один из которых должен реализовывать push-запросы сервера.

Клиент будет родной Objective-C. Я хочу, чтобы это было максимально просто, быстро и легко. Переданные данные будут в формате JSON. Возможно ли это сделать без использования брокера сообщений?

1 Ответ

1 голос
/ 07 октября 2009

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

@ DevDevDev: Да, COMET чаще всего ассоциируется с браузером с поддержкой Javascript, но я не думаю, что так должно быть. Вы можете проверить iStreamLight , который является клиентом Objective-C для iPhone, который подключается к серверам COMET. Это также обсуждается в этом интервью с автором.

...