2008-10-09 6 views
5

Я пытаюсь создать регистратор для приложения GWT в качестве упражнения для оценки GWT. То, что я специально хочу сделать, это сделать так, чтобы я мог отправлять сообщения на этикетку на стороне клиента в любой точке с серверной стороны. Итак, если на сервере произошел какой-то интересный материал, клиент может быть обновлен.Обратная связь с клиентом в GWT

Мой первый вопрос: возможно ли это, я могу понять, что это не было.

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

Thanks

ответ

9

Ну, есть пара опций. Вам нужно получить данные с сервера ... Так что вам нужно либо опросить сервер, либо использовать push-сервер.

Опрос довольно прост. Просто используйте класс Timer, чтобы повторно вызвать службу, чтобы узнать, какое значение она должна отображать.

Нагрузка сервера осуществляется с использованием чего-то вроде кометы. here - одна из реализаций для gwt, которая выглядит несколько перспективной. Основная концепция заключается в том, что браузер отправляет запрос на сервер и держит соединение открытым, поэтому сервер может продолжать отправлять данные обратно.

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

Удачи!

+0

Я не уверен, что модель толчка никогда не будет «лучше масштабироваться», чем модель опроса. Вы связываете серверные ресурсы, чтобы быть немного ленивыми на стороне клиента. Основным преимуществом GWT является то, что клиенту уделяется больше внимания, чтобы сервер мог более легко обрабатывать большие объемы пользователей. Я бы рекомендовал переключиться на модель Poll vs Push. – Kieveli 2010-12-21 13:29:33

+0

Это зависит от вашей конкретной ситуации. Если вы часто передаете большое количество данных многим клиентам, что-то вроде атмосферы может сэкономить вам время, постоянно пересматривая эти соединения. – 2011-02-04 21:21:36

2

Опрос, вероятно, лучший способ сделать то, что вы ищете. Большая проблема с GWT заключается в том, что все должно быть сериализуемым. Я не уверен, что что-то, что может нажать на браузер, может быть легко сериализовано.