WebSocket 是一种基于 TCP 协议的双向通信协议,它可以在浏览器和服务器之间建立长时间的连接,实现实时通信。WebSocket 的优点主要包括以下几点:
-
双向通信:WebSocket 可以在同一连接上实现双向通信,即客户端和服务端可以同时发送和接收数据,避免了每次请求都需要重新建立连接的开销。
-
低延迟:由于 WebSocket 的长连接特性,数据传输的延迟相对较低,适合实时通信场景。
-
高效率:WebSocket 使用二进制格式传输数据,相对于 HTTP 的文本格式,数据传输的体积更小,传输效率更高。
-
跨平台支持:WebSocket 能够跨越不同的平台和设备,实现浏览器和服务器之间的实时通信。
下面是一个基本的 WebSocket 客户端示例代码说明:
// 创建 WebSocket 对象,并连接到服务端
const socket = new WebSocket('ws://localhost:3000');
// 监听 WebSocket 的打开事件
socket.addEventListener('open', (event) => {
console.log('WebSocket 连接已打开');
// 发送一条消息给服务端
socket.send('Hello, server!');
});
// 监听 WebSocket 的消息接收事件
socket.addEventListener('message', (event) => {
console.log(`接收到来自服务端的消息:${event.data}`);
});
// 监听 WebSocket 的关闭事件
socket.addEventListener('close', (event) => {
console.log('WebSocket 连接已关闭');
});
// 监听 WebSocket 的错误事件
socket.addEventListener('error', (event) => {
console.error('WebSocket 连接发生错误');
});
首先创建了一个 WebSocket 对象,并指定了要连接的服务器地址。
然后监听了 WebSocket 的打开、消息接收、关闭和错误事件,并在相应的事件回调函数中进行处理。
当 WebSocket 连接打开时,我发送了一条消息给服务端。服务端接收到消息后,可以进行相应的处理并回复消息给客户端。客户端在接收到来自服务端的消息时,用message来接收。
当 WebSocket 连接关闭或发生错误时,也可以在相应的事件回调函数中进行处理。
注意:WebSocket 的使用需要服务端支持