0

I tried to move my web application from Virgo Tomcat server to Virgo Jetty server to get better support for websockets. The web application is successfully deployed and started but i didn't found the application under the same URL like in Virgo Tomcat. Has someone experience with this problem? Last note my webapp is a .par archive and all code can be found here

4

2 回答 2

0

作为 Jetty 的 websocket 实现的维护者,您有 2 个选择。

  • 说服 virgo 升级到 Jetty 9 - 因为 Jetty 8.1.3 中的 WebSocket 支持(这是 Virgo 3.6.3-RELEASE 附带的)太旧的 WebSocket 实现没有用。
  • 使用 virgo tomcat 并跳过使用 WebSocket。

一些历史:

  • RFC-6455(WebSocket 协议)于 2011 年 12 月完成
  • Jetty 8.1.3 根据规范实施了 RFC-6455,但仅在 2012 年 4 月更新
  • Chrome 和 Firefox 于 2013 年 11 月更改了 Sec-WebSocket-Protocol 验证规则
  • Jetty 7.x 和 8.x 的所有版本都受到影响(Jetty 7.x 和 8.x 没有修复,因为它们目前正在进行安全和数据损坏维护)
  • Tomcat 8.x 的早期版本也受到影响。
  • Jetty 9.x 在 2013 年 11 月对新的 Sec-WebSocket-Protocol 规则进行了修复
  • 由于 Sec-WebSocket-Protocol 问题,Tomcat 8.0 2014 年 1 月的初始发布投票失败,并推迟一周进行修复
  • 当前的 Tomcat 8.x 版本已修复

简而言之,如果您想在浏览器上使用 websocket,那么您必须使用最新版本的 Tomcat 8.x 或 Jetty 9.x 才能成功且稳定。

此外,如果您想使用 JSR-356(又名 javax.websocket),那么您还必须使用 Jetty 9.x(因为这在 Jetty 7 或 Jetty 8 上不可用)

于 2014-08-29T16:11:13.690 回答
0

我创建了一张票 [1] 将 Virgo 更新为 Jetty 9。

[1] https://bugs.eclipse.org/bugs/show_bug.cgi?id=443913

于 2014-09-12T08:55:52.047 回答