Vaadin不能建立在OpenShift WebSocket连接(Vaadin cannot est

2019-10-21 00:49发布

我的OpenShift服务器上使用Vaadin 7.3 Tomcat8(来源手动内置在服务器上)。 我的其他的设置是Tomcat7 7.0.54也OpenShift。 我的问题出现在这两个配置。 这里是发生了什么:当我打开我的Vaadin应用与@Push支持使我得到以下错误:

WebSocket connection to 'ws://t8-drewconnect.rhcloud.com/web/PUSH/?v-uiId=0&v-csrfToken=4097664e-4d3b-4dd6-9474-0a6441986e9a&X-Atmosphere-tracking-id=0&X-Atmosphere-Framework=2.1.5.vaadin4-jquery&X-Atmosphere-Transport=websocket&X-Atmosphere-TrackMessageSize=true&X-Cache-Date=0&Content-Type=application/json;%20charset=UTF-8&X-atmo-protocol=true' failed: Error during WebSocket handshake: Unexpected response code: 501 
​Websocket closed, reason: Connection was closed abnormally (that is, with no close frame being sent). vaadinPush.debug.js:13176
Websocket closed, wasClean: false vaadinPush.debug.js:13176
Mon Sep 22 07:39:46 GMT+200 2014 com.vaadin.client.VConsole
INFO: Push connection closed com.drewconnect.web.AppWidgetSet-0.js:4714
Websocket failed. Downgrading to Comet and resending vaadinPush.debug.js:13176
Mon Sep 22 07:39:46 GMT+200 2014 com.vaadin.client.VConsole
INFO: Push connection using primary method (websocket) failed. Trying with long-polling 

我花时间阅读在网络上量好,用什么办法来完成,阅读有关启用原生支持的氛围等,正要配置它,当我发现,那Vaadin使用大气捆绑到大气中,运行时2.1。 2.vaadin3.jar,这我不知道如果我能摆脱。 这种氛围文章https://github.com/Atmosphere/atmosphere/wiki/Installing-AtmosphereServlet-with-or-without-native-support建议使用大气运行本机,但它看起来像Vaadin使用一些定制版...

奇怪的是在本地主机(在我的开发环境)的WebSockets的连接被没有任何问题建立...

我是一个很好的方式来解决这个问题还是我的地方完全别的吗? ;-)难道你们知道解决这个问题呢? 我将不胜感激的答案,因为的WebSockets和长轮询之间的谈判需要花费大量的时间 - 我要等待大约2分钟的应用程序反应之前,有时候它永远不会结束(在屏幕的上方有一个闪烁的进度条,它永远不会到100%)。 我的客户,我已经介绍了应用程序的演示,不能在9连出的10例,所以我完全被卡住 - 没有看到演示,他不会跟我再往前走;(

Answer 1:

使用OpenShift还不支持WebSockets的默认前代理。 我听说他们即将soonish更新。 在此之前,你可以使用来自8000端口已支持网络插座他们的实验替代代理。 你的情况可以从地址达到:

http://t8-drewconnect.rhcloud.com:8000/web/

还要注意的是轮询(UI.setPollingInterval(INT)),往往是不够好,大多数的目的。



文章来源: Vaadin cannot establish Websocket connection on OpenShift