繁体   English   中英

Spring REST应用程序中的长轮询

[英]Long Polling in a Spring REST application

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

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

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

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

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

客户端收到响应后,显示的数据将立即更新,并且客户端会立即发出另一个请求,并在发生另一次更新时予以答复。

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

GWT存在许多用于推回服务的方法,例如GWT Event Services 在此处输入链接描述

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM