Как лучше всего создать чат-клиент JS с GWT? Немного, с чем у меня возникли проблемы, - это сохранение и передача сообщений. Должен ли я хранить сообщения в БД и проверять БД на наличие новых сообщений? Есть ли лучший способ сделать это?
Чат-клиент с GWT
Ответы (2)
Как предложил Джа, вы определенно хотите использовать Comet/Server Push/Reverse AJAX/многие другие имена. Я собрал ваши параметры для GWT в другое сообщение.
Если вы хотите быстро начать, взгляните на NGiNX_HTTP_Push_Module — там есть простой для понимания пример чата. Вам придется написать некоторую обработку протокола самостоятельно, но это довольно простая задача.
Если вы также используете Java на серверной части, более простым решением будет rocket-gwt или cometd.
person
Igor Klimer
schedule
16.03.2010
Спасибо! Я посмотрю на это - Server Push / что-то, что выглядит идеально для того, чего я пытаюсь достичь. Еще одна вещь, если вы все еще здесь: как я должен хранить сообщения на сервере между их отправкой и получением?
- person Matthew H; 17.03.2010
Как предложил Джа - используйте для этого простой класс, возможно, только с геттерами и сеттерами. Вы также можете заглянуть в JavaScript Overlay Objects, чтобы упростить обработку ответов JSON от сервера: code.google.com/webtoolkit/doc/latest/
- person Igor Klimer; 17.03.2010
Кстати, вы знаете, будет ли это работать в Google App Engine? Спасибо!
- person Matthew H; 21.03.2010
Если вы используете Google App Engine, то я предполагаю, что ракета-gwt - это то, что вам нужно - APE и push-модуль nginx требуют специализированных серверов, которые, насколько я знаю, недоступны в GAE. С другой стороны, Rocket-GWT должен довольно хорошо интегрироваться, но у меня самого нет большого опыта работы с GAE, так что это просто предположение :)
- person Igor Klimer; 21.03.2010
Вы можете либо заставить подключенных клиентов постоянно опрашивать сервер на наличие новых сообщений, либо посмотреть на Server Push: http://code.google.com/p/google-web-toolkit-incubator/wiki/ServerPushFAQ
person
jah
schedule
16.03.2010
Нет, в этом нет необходимости, если только вы не хотите хранить какую-то историю чатов на сервере.
- person jah; 17.03.2010
Извините, я запутался (тоже новичок в GWT). Должен ли я просто использовать стандартную структуру данных для хранения сообщений?
- person Matthew H; 17.03.2010
да. Взгляните на класс NewMessageEvent из приложения чата GWT: code.google.com/p/gwt-eclipsecon-chat/source/browse/trunk/src/
- person jah; 17.03.2010