我一直在用Java编写Web Socket服务器,这一点让我困惑了一段时间。在GitHub上,TooTallNate的这个库是“100%Java中的准系统WebSocket客户端和服务器实现”:https://github.com/TooTallNate/Java-WebSocket
它有大量的星星,并且正在积极开发。
但是看起来Java在主库中已经有了websocket功能? https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API/Writing_a_WebSocket_server_in_Java
还有Jetty的WebSocket之类的内容:http://www.eclipse.org/jetty/documentation/9.4.x/jetty-websocket-server-api.html
还有Netty似乎也有WebSocket的东西。
那么这些之间究竟有什么区别?这是一个简单的问题吗?还是表现?或者他们是完全分开的东西?如果我需要5-10 kb消息的低延迟高频发送,是否有一个最合适的选项?
答案 0 :(得分:3)
WebSocket是一种通过单个传输控制协议(TCP)套接字提供双向全双工通信信道的技术。
这由IETF标准化为RFC 6455。
您提供的三个链接(TooTallNate,Mozilla,Jetty)只是该websocket标准/协议的实现。
同样,Netty也有Websocket实现。
选择哪一个:
看看它就像HTTP标准。
所有Web服务器(Tomcat,weblogic,Jetty,Apache HTTP等)实现相同的HTTP标准,但选择哪一个取决于许多因素,如:
因此,您可能需要进行一些性能测试,看看哪个符合您的要求。