基于GWT Servlet的通知(服务器事件总线)

时间:2010-03-01 23:06:39

标签: google-app-engine gwt

有人能想出一个允许服务器根据服务器处理通知客户端的好方法吗?例如,请考虑以下事件:

  1. 用户请求删除数据,但由于运行时间较长,我们将其启动到队列中。
  2. 客户收到“是的,我们已成功完成您的交易”。
  3. 服务器删除该项目,现在想要更新任何客户端可能正在使用的任何本地结构(我也想通知用户)。
  4. 我知道这可以通过客户端轮询来完成。是否有事件总线类型的方法来做到这一点?欢迎任何建议,但请记住我正在使用GWT和App Engine。

2 个答案:

答案 0 :(得分:2)

标准的AJAX交互是客户端向服务器发送请求并期望某种响应相当快。

为了让服务器向客户端发起请求,您需要使用WebSockets,目前仅Chrome支持实验性HTML5功能。

或者,为了模拟这种交互,您可以使用Comet(长轮询),由rocket-gwt项目在GWT中提供。

答案 1 :(得分:2)

您想要GWT的服务器事件吗?看看GwtEventService(他们不能选择更好的名字):http://code.google.com/p/gwteventservice/wiki/StartPage

当然,它使用Comet实现,但在使用HTTP时不能做任何不同,客户端总是启动通信。请求,回复。