【问题标题】:Using Java Websocket API Implementation without a Web-Server在没有 Web 服务器的情况下使用 Java Websocket API 实现
【发布时间】:2015-10-29 13:07:19
【问题描述】:

是否可以在 Java 中实现自定义 WebSocket 应用程序,而不必在 GlassFish、Tomcat、Jetty 等 Web 服务器上运行它?

我打算开发一个非常定制的应用程序,并希望实现我自己的方式来管理线程、监控、负载平衡、消息传递和类似的东西。 (与例如 Java TCP 的 ServerSocket 相比) 我知道有 Tyrus 容器,例如用于独立服务器和 Servlet 支持的 Grizzly 集成,还有 Jetty,但我不确定这是否是我正在寻找的。 Grizzly 或 Jetty 本身可能是一个独立的解决方案吗?我知道 Tyrus 是 Grizzly WebSocket 实现的某种包装器,但老实说,我不确定这两者是如何相互连接的。

欢迎提出任何建议!谢谢!

【问题讨论】:

    标签: java-websocket tyrus


    【解决方案1】:

    Tyrus 不是“Grizzly 的某种包装”,但它可以在它之上运行。

    (Tyrus 是 Java 的 WebSocket API (JSR 356) 的参考实现,它是 Java EE 的一部分)。

    在没有 Web 服务器的情况下运行(假设您正在谈论 appserver 或“大”的东西)是完全可能的并且非常简单,因为我们正在使用它进行“e2e”测试。 (如果这很重要,我是 Tyrus 开发人员)。

    启动可以处理 WebSocket 连接的新容器很简单:Main.java,请参阅项目声明 [pom.xml] 以获取完整的依赖项列表。

    【讨论】:

      【解决方案2】:

      换句话说,您正在尝试实现 WebSocket 服务器,例如: https://code.google.com/p/jwebsocket/(链接失效)

      http://jwebsocket.org/downloads/jwebsocket-latest-versions(新链接)

      【讨论】:

      • 感谢您的回答!是的,我想要构建一个 WebSocket 服务器。类似 jWebSocket 的东西,但当然没有那么复杂和全面。我看过 jWebSocket 的文档,他们使用自己的内部 TCPEngine,但也使用第三方引擎,如 Netty 或 Jetty。基于此,我假设可以实现由例如 JettyEngine (?) 驱动的独立服务器
      • 是的,这完全有可能,尽管它可能会变得非常复杂(取决于您将从头开始编写的部分)。我建议尽可能重用 - 所以选择尽可能大的“块”。但天空是极限——如果你愿意,你甚至可以去protocol level :)
      猜你喜欢
      • 2012-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-18
      • 2017-11-08
      • 1970-01-01
      相关资源
      最近更新 更多