java-websocket - 在没有 Web 服务器的情况下使用 Java Websocket API 实现

标签 java-websocket tyrus

是否可以用 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/

相关文章:

Vert.x 中的 WebSocket 压缩?

java - WebSocket EndPoints 注释中编码器列表或解码器列表的用例是什么?

Android:在后台堆栈中保持 Activity 正常运行

java - 使用 Java EE Websocket API 接收 ping

java - Tyrus Websocket 实现中的异步消息传递是否有序?

android - native Android 应用程序上的 Tyrus websocket 客户端在通过 WSS 从 websocket 服务器接收超过 16KB 的二进制消息时异常关闭

java - javax.websockets/Tyrus 中的线程

java - 野蝇: is possible to define websocket endpoint inside an EJB module of an EAR?

java - WebSocket session 在一段时间未接收到输入后关闭

spring - chalice 2.3。 0 和计划 tyrus