Существует модуль кометы GWT для StreamHub:
http://code.google.com/p/gwt-comet-streamhub/
StreamHub - это сервер Comet с бесплатной версией сообщества. Вот пример этого в действии здесь .
Вам потребуется загрузить сервер StreamHub Comet и создать новый SubscriptionListener, использовать пример StockDemo в качестве отправной точки, а затем создать новый JsonPayload для потоковой передачи данных:
Payload payload = new JsonPayload("AAPL");
payload.addField("bid", "88.84");
payload.addField("ask", "88.86");
server.publish("AAPL", payload);
...
Загрузите JAR с сайта кода Google, добавьте его в путь к классам GWT-проектов и добавьте в свой модуль GWT включение:
<inherits name="com.google.gwt.json.JSON" />
<inherits name="com.streamhub.StreamHubGWTAdapter" />
Подключитесь и подпишитесь на ваш код GWT:
StreamHubGWTAdapter streamhub = new StreamHubGWTAdapter();
streamhub.connect("http://localhost:7979/");
StreamHubGWTUpdateListener listener = new StockListener();
streamhub.subscribe("AAPL", listener);
streamhub.subscribe("IBM", listener);
streamhub.subscribe("GOOG", listener);
...
Затем обработайте обновления так, как вам нравится, в слушателе обновлений (также в коде GWT):
public class StockListener implements StreamHubGWTUpdateListener {
public void onUpdate(String topic, JSONObject update) {
String bid = ((JSONString)update.get("bid")).stringValue();
String ask = ((JSONString)update.get("ask")).stringValue();
String symbol = topic;
...
}
}
Не забудьте включить streamhub-min.js в главную HTML-страницу ваших проектов GWT.