是否可以用 Java 实现自定义 WebSocket 应用程序,而无需在 GlassFish、Tomcat、Jetty 等 Web 服务器上运行它?
我打算开发一个非常定制的应用程序,并希望实现我自己的方式来管理线程、监控、负载平衡、消息传递等。 (与 Java TCP 的 ServerSocket 相比) 我知道有 Tyrus 容器,例如用于独立服务器和 Servlet 支持的 Grizzly 集成,这里还有 Jetty,但我不确定这是否是我正在寻找的。 Grizzly 或 Jetty 本身可能是一个独立的解决方案吗?我知道 Tyrus 是 Grizzly WebSocket 实现的某种包装器,但说实话,我不确定这两者是如何互连的。
欢迎任何建议!谢谢!
最佳答案
Tyrus不是“Grizzly 的某种包装”,但它可以在其上运行。
(Tyrus 是 WebSocket API for Java (JSR 356) 的引用实现,它是 Java EE 的一部分)。
在没有 Web 服务器的情况下运行(假设您正在谈论应用程序服务器或“大”的东西)是完全可能的,而且非常简单,因为我们正在使用它进行“e2e”测试。 (如果这很重要的话,我是 Tyrus 开发者)。
启动可以处理 WebSocket 连接的新容器非常简单:Main.java ,参见项目申报[pom.xml]完整的依赖列表。
关于java-websocket - 在没有 Web 服务器的情况下使用 Java Websocket API 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33415121/