Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
服务器端WebSocket的最佳Java框架_Java_Websocket - Fatal编程技术网

服务器端WebSocket的最佳Java框架

服务器端WebSocket的最佳Java框架,java,websocket,Java,Websocket,我想创建具有低负载的简单服务器。目标是让一些javascript客户端通过WebSocket访问Java中实现的一些功能。我寻找最好的图书馆来使用它-它应该是简单的,健壮的等等。现在我考虑3种选择。 -jWebSocket -码头 -内蒂 什么是最好的?或者是别的什么 提前感谢看一看。关于websocket和atmosphere。我会选择经验证的Javaservlet服务器:Jetty或Resin。这两个功能都已扩展到处理WebSocket: 我个人的选择是Jetty,因为它使用非常简单,而

我想创建具有低负载的简单服务器。目标是让一些javascript客户端通过WebSocket访问Java中实现的一些功能。我寻找最好的图书馆来使用它-它应该是简单的,健壮的等等。现在我考虑3种选择。 -jWebSocket -码头 -内蒂 什么是最好的?或者是别的什么


提前感谢

看一看。关于websocket和atmosphere。

我会选择经验证的Javaservlet服务器:Jetty或Resin。这两个功能都已扩展到处理WebSocket:

我个人的选择是Jetty,因为它使用非常简单,而且我已经在几个项目中将它用作嵌入式服务器


也有一些新的孩子,比如和,但对于服务器,我更喜欢使用经验证的解决方案。Jetty和Resin也是通用的Servlet服务器,因此您可以使用一种产品来满足您的所有服务需求。

jWebSocket现在包括Jetty 8.0引擎,其中包括SSL,并在其上包括许多非常有用的功能。它为跨浏览器和跨平台兼容的客户端提供了更多的移动应用程序,例如Android、Symbian和BlackBerry。服务器可以很容易地使用插件进行扩展,并且已经包含了很多插件(例如用于身份验证/自动化、JDBC、SMTP、XMPP/Jabber、RPC、Twitter、文件共享、聊天等)。看看吧。期待您的反馈

问候
Alex

供参考,树脂、玻璃鱼和码头上的大气运行。Atmosphere为您提供了Websocket在Websocket服务器之间的可移植性,从而使您摆脱了一台服务器的困扰。它还提供了一个客户端库,可以在浏览器不支持websocket的情况下选择最佳传输。所以你不能将大气与Jetty或Rsin进行比较,请关注我的博客。我会在不久的将来准备发布。整个过程都强调重量轻,但速度也很快。我还不知道它将如何提升到更高的负载。但是我已经用相对较低的负载运行了一段时间的演示,而且我一直工作得很好。(稍后我将测试更重的负载,并确保它可以提升。)


是另一个很好的选择。

< P>如果你正在寻找消息管理、用户分组(“房间”)和数据同步(“共享变量”)周围的基础设施,你可能需要考虑联合平台:


[完全披露:我是Union的共同创造者之一]

为什么不在JMS这样的开放标准上编写应用程序,让客户端作为消息客户端坐在JMS总线上呢? websockets的全部要点是将任何本机TCP协议直接带到客户端,而不是将其从后端转换为http请求/响应

您的后端服务将与ActiveMQ这样的JMS代理进行通信,而您的客户机通过Javascript API在浏览器中使用AMQP,该API与Java中的JMS API非常相似。您只需要一个websocket网关,例如Kaazing有这样一个网关,它所做的就是通过websocket将JMS TCP流量路由到web客户端。它们还提供扇出,这样您就不会过载JMS总线,也就是说,您只需使用少量到代理的连接就可以卸载一百万个浏览器客户端连接

底线是你不需要把自己绑在任何特定的平台上。坚持标准,这样您就可以在环境发生变化时100%自由地更换组件。

也许您应该试试?使用回刷,您可以从几种WebSocket引擎中进行选择,如Jetty、Netty和Tomcat。您可以拥有独立的服务器以及使用WebSocket的web应用程序(Jetty和Tomcat7)。刷毛回退使用Spring框架。如果您使用过Struts、Stripes或Play等web框架!,这对你来说很容易开始。当然,刷毛回有自己的JavaScript客户端库,以便更轻松地开发

完全披露:我是刷毛服务器的共同创造者之一。

我也会加入到列表中。它可以为websocket和SockJS(当浏览器不支持websocket仿真时)提供服务器

更新:

Undertow还支持websockets。

虽然我非常重视JWebsockets和Autobahn的实现,但我更喜欢Atmosphere

加速: 启动时间很短。Francois Arcand在测试和示例方面投入了大量精力,帮助每个人实现快速胜利。(我不知道为什么他能如此迅速地回答我提出的任何建筑问题。令人印象深刻。)

维护视角: 对我来说,如果一个软件超过了主要版本1.0.0,那么可维护性是最基本的。该项目保持在Maven POM的顶层,具有正确构造的层次结构。它防止了库的不兼容性。库是正确级别的参考。做得好

技术/功能视角
它提供了一个JavaSE客户端库(wasync),可以进行本机websocket通信(onMessage),也可以构建Jersey REST注释(@Path)。随后,这使得它变得简单,因为它可以维护订阅的开放连接和流行的远程过程调用(RPC)范例。合并这两种范式是一种常见的尝试。另请参见,它将采用相同的方法。此外,该库还提供建立QoS属性,如健壮性(例如,在客户端断开连接的情况下)和可靠性(缓存未传递的消息)。这对于专业软件来说是非常好的利用。

还有一个选择:这些可以部署在tomcat上吗?我需要一个跨容器库。@Peter Knego您提供的链接正在导致404-page not found错误。我想现在需要对Jee7支持Websocket进行全面披露。我是Java web套接字的新手。我需要创建需要点对点通信的Java客户端