什么是websocket

2021-02-03 14:39:40 浏览数 (1)

最近开发项目需要用到socket.io,去npm搜索了一下发现三个比较火关于websocket的库,分别是Websocket、socket.io、ws。

本篇文章主要了解下什么是websocket和socket.io的使用。

首先什么是websocket呢?

WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议。使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。

在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。

WebSocket 解决了什么问题

在不使用 WebSocket 时,如果我们需要建立一条长连接,只能通过轮询或者长轮询,当出现类似体育赛事、聊天室、实时位置之类的场景时,客户端要获取服务器端的变化,就只能通过轮询(定时请求)来了解服务器端有没有新的信息变化。

WebSocket 的出现,让服务器端可以主动向服务器端发送信息,使得浏览器具备了实时双向通信的能力,这就是 WebSocket 解决的问题。

WebSocket 与 HTTP 对比

WebSocket 与 HTTP 对比WebSocket 与 HTTP 对比

0 人点赞