我需要7个websockets
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我需要7个websockets相关的知识,希望对你有一定的参考价值。
我是vaadin的新手。我有几个问题:
- Vaadin 7或更高版本是否支持websockets?
- Vaadin是否还有其他功能,例如将数据从服务器推送到客户端(例如websockets)?
Vaadin支持Atmosphere,所以google获取将启用websockets的插件。
服务器推送是几周后Vaadin 7.1的主要功能。请参阅Roadmap了解当前状态和相关的blog post。
在Vaadin 7.1之前,服务器推送下载最多的附加组件是ICEPush,但您也可以在add-on directory中找到其他替代方案。
Update - Push Is Built-In
jfarcand(Atmosphere的创造者)和Ludd的其他答案都是正确的,但现在已经过时了。
Vaadin 7.3.7(截至2015-01)现在合并了Atmosphere library。 Atmosphere提供Push的内置支持。无需添加任何jar,库,插件和附加组件。 Vaadin Push首先尝试使用WebSocket技术。如果没有,Vaadin Push会回归到其他方法。
三个简单的步骤:
- 将
@Push
注释添加到UI子类 - 使用
ScheduledExecutorService
在后台更新应用程序的数据。可能最好在ServletContextListener
中启动和停止执行程序服务,称为您的Vaadin Web应用程序启动并关闭。 - 当新数据准备就绪时,后台线程调用UI::access方法来安排对UI线程(请求处理线程)上的用户界面组件(窗口小部件)的访问和更改。
您可能希望一个用户的主用户界面线程更新另一个用户的显示,而不是步骤#2。基本上是相同的想法,并在Vaadin书中涵盖。
Book Of Vaadin
有关Server Push的更多信息,请参阅section 11.16中的The Book Of Vaadin。
Minimal Example
在2015-01,我在Vaadin 7中发布了this answer for a minimal example of Push。您可以复制单个文件的内容,以在新的默认Vaadin项目中替换MyUI
类的内容。
以上是关于我需要7个websockets的主要内容,如果未能解决你的问题,请参考以下文章
Watson语音到文本 - 无法构造'WebSocket':URL包含片段标识符
如何强制Margin-left(marginStart)在片段中成像?