【问题标题】:Long Polling in a Spring REST applicationSpring REST 应用程序中的长轮询
【发布时间】:2016-03-18 14:24:04
【问题描述】:

我有一个应用程序,其中服务器端是 Spring REST,客户端是 GWT。客户端使用 GWT 的 DataGrid 有各种不同的数据显示。

客户端是交互的,用户可以进行修改,数据和它的显示网格都是相互关联的,所以当一个网格上的数据被编辑时,其他的显示网格也必须有相应的更新。

此外,可能有多个客户端同时使用,所有客户端的显示都应保持最新。

为此,我一直在研究使用 Spring 的长轮询功能来使用 Servlet 3 的异步请求。

我已经设法理解了基础知识(我认为),例如客户端发出请求,并且连接保持打开状态,直到有数据要发送(显示更新)。

一旦客户端收到响应,显示的数据就会更新,并且客户端会立即发出另一个请求,当另一个更新发生时得到响应。

那么,服务器如何知道请求的发起客户端是否已经收到最新更新?

【问题讨论】:

  • 你考虑过使用 WebSockets 吗?因为这将使您更清晰地实现您想要做的事情。

标签: java spring rest gwt long-polling


【解决方案1】:

GWT 中有很多方法用于推送服务 比如GWT Event Servicesenter link description here

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

或者,要模拟这种交互,您可以使用 Comet (long-polling),它是由 rocket-gwt 项目在 GWT 中提供的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-10
    • 2015-11-24
    • 2011-06-06
    • 2012-11-06
    • 1970-01-01
    • 2011-07-15
    • 1970-01-01
    • 2015-07-15
    相关资源
    最近更新 更多