【问题标题】:WebSockets not working on OpenShift Tomcat 7.0 and WildFly Application Server 8.1.0.CR1WebSocket 在 OpenShift Tomcat 7.0 和 WildFly 应用程序服务器 8.1.0.CR1 上不起作用
【发布时间】:2014-05-10 08:52:07
【问题描述】:

我整晚都在尝试在 Tomcat 7 上运行一个简单的 echo 测试。

我尝试运行的测试按预期在本地运行。但是当部署到 openshift 时,连接会打开,然后立即关闭。我一直在互联网上寻找正确的设置,并为他们找到了完全相同的问题的问题和答案,但这些解决方案对我不起作用。

我作为测试的例子可以在http://pureikka-belgampaul.rhcloud.com/pi-8/index.html查看

在视图区域的底部有一个调试控制台报告 websocket 的状态。

所以我觉得我在设置中没有犯一个简单的错误,它在本地运行,只更改了 websocket 的主机名和端口号。

会不会是升级连接后出现路由问题?

我将我的 war 文件直接部署到 webapps 目录。 我也认为我让 websockets 在某一时刻工作,但我不再那么确定了。毕竟我可以查看本地主机。

最终我决定尝试 wildfly8 设备,因为它附带了对 websockets 的支持。我查看了https://github.com/javaee-samples/javaee7-samples repo 并将聊天演示部署到本地 wildfly8 并且该示例从第一次运行开始就按预期运行。伟大的。但是相同的war文件在openshift上无法正常工作(http://wildfly8-belgampaul.rhcloud.com/chat3/

我尝试在两种设置中使用端口 80 或 8000。 需要别人的帮助吗?建议或问题让我回到正确的方向

也许有人已经解决了类似的问题?

【问题讨论】:

  • 这不像我已经解决了这个问题,更像是有一种解决方法可以让 websockets 在 java 中的 openshift 上工作。我已按照github.com/shekhargulati/wildfly-openshift-quickstart 的说明进行操作。它使用DIY齿轮。最终,我可以运行 javaee7-samples 示例,只需部署与我在其他两个设置中测试时使用的相同的 war 文件即可演示 websocket。 Websockets 在端口 8000 上工作。最后我认为这是 wildfly8 设备上的路由问题。仍然好奇出了什么问题。

标签: java tomcat websocket openshift wildfly


【解决方案1】:

OpenShift 上的 Web 套接字在 ws 的 8000 端口和 wss 的 8443 端口上工作,这不是“变通办法”,而是 websocket 在此系统上的工作方式。

【讨论】:

  • 解决方法是指我希望在现有的非 DIY 设备上使用 websockets 开箱即用。这可能是红帽限制或我的配置在某处有误,但在非 DIY 盒子上我一直在努力设置 websockets 并未能成功。无论如何,感谢您明确说明端口。
【解决方案2】:

这里是最有用的链接,提供了足够的问题说明

  1. https://www.openshift.com/blogs/paas-websockets(关于 openshift 上的 websockets 的一般信息)
  2. https://www.openshift.com/blogs/deploy-websocket-web-applications-with-jboss-wildfly (diy 例子)

总结一下: 开箱即用的 websocket 支持是 node.js 最可靠的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-10
    • 1970-01-01
    • 1970-01-01
    • 2016-07-03
    • 2015-12-28
    • 2023-01-11
    • 1970-01-01
    • 2017-03-26
    相关资源
    最近更新 更多