2013-03-25 66 views
3

我新手vaadin。我有几个问题vaadin 7的WebSockets

1)是否Vaadin 7或更高版本支持WebSockets的?

2)是否Vaadin有其他功能,如从服务器将数据推送到客户端(如网页套接字)

任何帮助将是很大很大的。

在此先感谢。

回答

4

萨吕,

Vaadin支持Atmosphere,因此谷歌让插件,使WebSockets的。

A +

- Jeanfrancois

+0

非常感谢您的回复。是否支持所有网络浏览器 – nav0611 2013-03-25 15:02:13

+0

是的,请参阅https://github.com/Atmosphere/atmosphere/wiki/Supported-WebServers-and-Browsers – jfarcand 2013-03-25 17:16:37

2

服务器推的是在几个星期的时间与Vaadin 7.1来的主要特征。查看Roadmap了解当前状态以及相关的blog post

在Vaadin 7.1之前下载量最大的服务器推送附件为ICEPush,但您也可以在add-on directory中找到其他替代方案。

2

更新 - 是内置

两个其他的答案被jfarcandLudd(的Atmosphere创造者)是正确的,但现在已经过时。

Vaadin 7.3.7(截至2015-01)现包含了Atmosphere library。 Atmosphere提供Push的内置支持。无需添加任何jar,库,插件和附加组件。 Vaadin Push首先尝试使用WebSocket技术。如果没有,Vaadin Push会回到其他方法。

三个简单的步骤:

  1. @Push注释添加到您的UI子
  2. 使用ScheduledExecutorService为在后台您的应用程序更新数据。可能最好启动和停止执行器服务在ServletContextListener,称为您的Vaadin网络应用程序启动并关闭。
  3. 当新的数据准备,后台线程调用UI::access方法来安排访问,并对其进行更改,UI线程(请求处理线程)的用户界面组件(部件)。

而不是步骤#2,您可能希望一个用户的主用户界面线程更新另一个用户的显示。基本上是一样的想法,并在书Vaadin。

中Vaadin

有关服务器推送更多信息,请参见section 11.16The Book Of Vaadin

小例子

在2015-01,我在Vaadin 7发布this answer for a minimal example of Push您可以复制一个文件的内容,以取代MyUI类的内容在一个新的默认Vaadin项目。