我有一个应用程序,其中服务器端是Spring REST,客户端是GWT。客户端使用GWT的DataGrid显示各种不同的数据。
客户端是交互式的,用户可以进行更改,数据及其显示网格都是相互关联的,因此当编辑一个网格上的数据时,也必须对其他显示网格进行相应的更新。
此外,可能会同时使用多个客户端,其所有显示都应保持最新。
为此,我一直在考虑使用Spring的长轮询功能来使用Servlet 3的异步请求。
我已经设法了解基础知识(我认为),这样客户端发出请求,连接保持打开状态,直到有数据要发送(显示更新)。
一旦客户端收到响应,显示的数据就会更新,客户端会立即发出另一个请求,当另一个更新发生时,该请求会得到解答。
那么,服务器如何知道请求的始发客户端是否已收到最新更新?
答案 0 :(得分:0)
GWT
中有很多方法可用于回击服务
比如GWT Event Services
enter link description here
为了让服务器向客户端发起请求,您需要使用目前仅Chrome支持的WebSockets
和实验HTML5
功能。
或者,为了模拟这种交互,你可以使用Comet (long-polling)
,由rocket-gwt项目在GWT中提供。