Grails: уведомление от сервера к клиенту - PullRequest
2 голосов
/ 23 июля 2011

Я создаю приложение Grails, которое запрашивает несколько API через Интернет.Проблема в том, что эти запросы очень трудоемки, и пользователю очень неудобно нажимать одну кнопку и ждать столько времени без каких-либо изменений на странице.

Основная архитектура моего приложения - это когдапользователь нажимает кнопку, клиентская сторона выполняет запрос Ajax с библиотекой Prototype на стороне сервера.Затем серверная часть подключается к Last.fm API и получает список событий.Когда серверная часть заканчивает заполнять список событиями, она отправляет JSON-ответ клиентской стороне, который позволяет клиентской стороне создавать маркеры для каждого события на карте Google.

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

Есть идеи, как я могу это реализовать?Я читал о концепции Ajax Push, но я не уверен, что это то, что мне нужно.Спасибо за помощь!

Ответы [ 2 ]

1 голос
/ 23 июля 2011

Невозможно открыть прослушивающее соединение на клиенте, к которому может подключиться ваш сервер. Вместо этого вам нужно соединение с сервером, которое поддерживается и может использоваться для получения событий. Таким образом, вы можете напрямую вернуть запрос «action» и сообщить клиенту через соединение с постоянным событием, как только запрос last.fm будет выполнен.

Тем не менее, я бы реализовал использование ajax keep alive.

0 голосов
/ 25 июля 2011

Взгляните на Плагин Cometd .

...