WebSocket系列之基础知识入门篇

本文是WebSocket系列的入门篇,介绍了WebSocket的基本概念、协议内容和API用法,包括建立连接、收发消息及关闭连接的操作。通过WebSocket,可以实现客户端与服务器的双向实时通信,解决传统HTTP轮询、长轮询和SSE的不足。文章还讨论了WebSocket协议的Header部分,以及在实际应用中的使用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述

本文是WebSocket系列的第一篇,主要介绍WebSocket相关的基础协议知识和API。由于WebSocket的相关介绍在MDN中分布较乱,初学者不太容易入门,因此通过本文将相关基础知识和使用方法进行一个归纳和总结。

本文主要内容如下:

  • WebSocket基础概念介绍

  • WebSocket协议初读

  • WebSocket 相关API浅析

  • WebSocket在线上项目中的使用

通过本文,你能够了解到WebSocket相关基础知识,同时了解到WebSocket在线上环境中是如何使用的。

WebSocket介绍

WebSockets 是一个可以创建和服务器间进行双向会话的高级技术。通过这个API你可以向服务器发送消息并接受基于事件驱动的响应,这样就不用向服务器轮询获取数据了。

上面是MDN中关于WebSocket的说明。其中双向会话指的是客户端和服务端都能够通过WebSocket来进行数据的互相传递,即服务端可以给客户端推送数据,客户端也可以通过WebSocket来传递数据。

为什么要使用WebSocket

在不使用WebSocket时,如果我们需要建立一条长连接,有以下几种方法:

  • 轮询

  • 长轮询(常用)

  • SSE(Server Send Event)

下面,我们对这几个都进行简单的介绍。

轮询

轮询是最早在客户端用来模拟长连接的一种方式。他通过客户端定时想服务端发送HTTP请求来模拟客户端向服务端发送数据,而服务端的数据则是在客户端发送HTTP请求后跟随返回。

这种方案能够让客户端的数据几乎实时的到达,但是缺点也显而易见:服务端的数据需要在客户端的请求回来后才能带回。如果HTTP请求的间隔太短,则会导致大量的网络开销;如果间隔太长,这将导致数据传递的不及时。

长轮询

长轮询是在轮询的基础上改进的一种方式。在客户端发送HTTP请求且服务端收到请求时,服务端会先维持这个请求不返回。在特定的时间内&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值