Tomcat如何实现WebSocket
Posted 超人汪小建(seaboat)
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tomcat如何实现WebSocket相关的知识,希望对你有一定的参考价值。
WebSocket协议属于html5标准,越来越多浏览器已经原生支持WebSocket,它能让客户端和服务端实现双向通信。在客户端和服务器端建立一条WebSocket连接后,服务器端消息可直接发送到客户端,从而打破传统的请求响应模式,避免了无意义的请求。比如传统的方式可能会使用AJAX不断请求服务器端,而WebSocket则可以直接发送数据到客户端且客户端不必请求。同时,由于有了浏览器的原生支持,编写客户端应用程序也变得更加便捷且不必依赖第三方插件。另外,WebSocket协议摒弃了HTTP协议繁琐的请求头,而是以数据帧的方式进行传输,效率更高。
图为WebSocket协议通信的过程,首先客户端会发送一个握手包告诉服务器端我想升级成WebSocket,不知道你服务器端是否同意,这时如果服务器端支持WebSocket协议则会返回一个握手包告诉客户端没问题,升级已确认。然后就成功建立起了一条WebSocket连接,该连接支持双向通信,并且使用WebSocket协议的数据帧格式发送消息。
握手过程需要说明下,为了让WebSocket协议能和现有HTTP协议Web架构互相兼容,所以WebSocket协议的握手要基于HTTP协议,比如客户端会发送类似如下的HTTP报文到服务器端请求升级为WebSocket协议,其中包含的Upgrade: websocket就是告诉服务器端我想升级协议:
GET ws://localhost:8080/hello HTTP/1.1
Ori
以上是关于Tomcat如何实现WebSocket的主要内容,如果未能解决你的问题,请参考以下文章
基于tomcat 7.0.68 的websocket 实现,及通过 HttpSessionId 实现websocket session 共享
基于tomcat 7.0.68 的websocket 实现,及通过 HttpSessionId 实现websocket session 共享
基于tomcat 7.0.68 的websocket 实现,及通过 HttpSessionId 实现websocket session 共享