WebSocket基础知识

2019-12-20  本文已影响0人  梦想又照进现实

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

上一篇 下一篇

猜你喜欢

热点阅读