美文网首页
WebSocket基础知识

WebSocket基础知识

作者: 梦想又照进现实 | 来源:发表于2019-12-20 10:11 被阅读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

相关文章

  • 【重读iOS】网络请求1:基础知识

    基础知识 HTTP基础知识(状态码,请求方法,请求头,cookies) socket/webSocket 系统请求...

  • 【重读iOS】网络请求2:应用

    基础知识 HTTP基础知识(状态码,请求方法,请求头,cookies) socket/webSocket 系统请求...

  • WebSocket基础知识

    WebSocket 是什么 WebSocket 是一种网络通信协议。RFC6455 定义了它的通信标准。 WebS...

  • websocket实现一个聊天室

    上次讲了websoket的基础知识和应用插件,今天我们来用websocket来实现一个聊天程序。先看几张界面截图:...

  • WebSocket

    WebSocket Introduction WebSocket general:阮一峰的WebSocket 教程...

  • 2020-04-03

    ## webSocket初探 ## 目录 - 为什么WebSocket - 什么是WebSocket - WebS...

  • WebSocket

    WebSocket(1)---WebSocket介绍 一、为什么需要 WebSocket?初次接触 WebSock...

  • Spring和WebSocket整合详解

    Spring和WebSocket整合详解 官方主页 Spring WebSocket 概述 WebSocket 是...

  • WebSocket 的对象特性

    WebSocket对象特性 1readyState:WebSocket只读属性,表示WebSocket的连接状态。...

  • WebSocket 笔记

    WebSocket 笔记 WebSocket 握手客户端请求 Sec-WebSocket-Key: dGhlIHN...

网友评论

      本文标题:WebSocket基础知识

      本文链接:https://www.haomeiwen.com/subject/mxubnctx.html