是否可以在Java中实现自定义WebSocket应用程序,而不必在GlassFish、Tomcat、Jetty等Web服务器上运行它?
我打算开发一个非常定制的应用程序,并希望实现我自己的方式来管理线程、监控、负载平衡、消息传递等。(与Java TCP的ServerSocket相比)我知道有一些Tyrus容器,比如Grizzly集成,用于独立服务器和Servlet支持,这里还有Jetty,但我不确定这是否是我想要的。Grizzly或Jetty本身可能是一个独立的解决方案吗?我知道Tyrus是GrizzlyWebSocketImplementation的某种包装器,但老实说,我不确定这两者是如何互连的。
欢迎提出任何建议!非常感谢。
Tyrus不是"Grizzly的某种包装器",但它可以在上面运行。
(Tyrus是WebSocket API for Java(JSR 356)的参考实现,它是Java EE的一部分)。
在没有web服务器的情况下运行(假设您谈论的是appserver或"大"的东西)是完全可能的,而且非常简单,因为我们正在使用它进行"e2e"测试。(如果这很重要的话,我是Tyrus的开发者)。
启动可以处理WebSocket连接的新容器非常简单:Main.java,有关依赖项的完整列表,请参阅项目声明[pom.xml]。
换句话说,您正在尝试实现一个WebSocket服务器,类似于:https://code.google.com/p/jwebsocket/(链路失效)
http://jwebsocket.org/downloads/jwebsocket-latest-versions(新链接)