WebSocket 是什么
WebSocket 是一种网络通信协议。RFC6455 定义了它的通信标准。
WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。
为什么需要 WebSocket
HTTP 协议是一种无状态的、无连接的、单向的应用层协议。它采用了请求/响应模型, HTTP 协议无法实现服务器主动向客户端发起消息,WebSocket 连接允许客户端和服务器之间进行全双工通信,以便任一方都可以通过建立的连接将数据推送到另一端。WebSocket 只需要建立一次连接,就可以一直保持连接状态。
WebSocket 如何工作
Web 浏览器和服务器都必须实现 WebSockets 协议来建立和维护连接。由于 WebSockets 连接长期存在,与典型的 HTTP 连接不同,对服务器有重要的影响。
基于多线程或多进程的服务器无法适用于 WebSockets,因为它旨在打开连接,尽可能快地处理请求,然后关闭连接。任何实际的 WebSockets 服务器端实现都需要一个异步服务器。
WebSocket 客户端
可以在VUE、JS中创建,比较简单;
WebSocket 服务端
WebSocket 在服务端的实现非常丰富,Node.js、Java、C++、Python 等多种语言都有自己的解决方案。
关注下Spring的相关实现:
1、Spring-websocket
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-websocket</artifactId>
<version>${spring.version}</version>
</dependency>
2、Spring Boot + netty
<dependency>
<groupId>org.yeauty</groupId>
<artifactId>netty-websocket-spring-boot-starter</artifactId>
<version>0.8.0</version>
</dependency>
参考地址:https://gitee.com/Yeauty/netty-websocket-spring-boot-starter
网友评论