Spring REST应用程序中的长轮询

时间:2016-03-18 14:24:05

标签: java spring rest gwt long-polling

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

客户端是交互式的,用户可以进行更改,数据及其显示网格都是相互关联的,因此当编辑一个网格上的数据时,也必须对其他显示网格进行相应的更新。

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

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

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

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

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

1 个答案:

答案 0 :(得分:0)

GWT中有很多方法可用于回击服务 比如GWT Event Services enter link description here

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

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