首先我们需要了解,什么是websocket,它的作用和优势是什么,为什么要用它。
什么是websocket?
websocket是基于TCP的一种双向通信协议。在此之前,一直是采用轮询的方式进行双向通信,
这种方式效率低下还非常浪费资源。为了解决这种问题,websocket应运而生。
特点:
- 双向通信
websocket使得客户端跟服务端之间交换数据变得更加简单。允许服务器主动向客户端推送数据。浏览器只需要和服务器完成一次握手,就可以创建持久性的连接,并进行双向数据传输。 - 实时性强
服务器可以主动给客户端推送数据,相比http请求需要先由客户端发起请求,浏览器才会响应,延迟明显更少、时间更短。 - 连接保持
websocket连接创建成功后,只要连接不断开,通信会一直保持,而且还会省略部分状态信息(http请求可能每次请求都需要携带状态信息)
相对于http,websocket优势显而易见。所以在一些实时通信上,都需要用到websocket,比如多媒体聊天、玩家游戏、页面局部刷新、协同编辑等场景。
介绍完了什么是websocket,下面介绍下如何使用websocket。
WebSocket 的用法很简单:
var ws = new WebSocket("ws://localhost:8181");
// 指定连接成功后的回调函数
ws.onopen = function() {
// 向服务器发送数据,数据类型包括文本类型/blob对象/ArrayBuffer对象
ws.send("Hello WebSockets!");
};
// 指定收到服务端数据后的回调函数
(注意:返回数据可能是文本,也可能是二进制数据(blob对象或Arraybuffer对象))
ws.onmessage = function(e) {
con

WebSocket是一种基于TCP的双向通信协议,解决了HTTP轮询效率低下的问题,提供实时性和连接保持能力,常用于实时通信场景如聊天、游戏等。其使用简单,通过new WebSocket建立连接,并设置onopen、onmessage、onclose回调处理数据交换。服务端通常使用nodejs-websocket库来处理连接和数据传输。
1246

被折叠的 条评论
为什么被折叠?



