WebSocket 是一种基于 TCP 的双向实时通信协议,允许客户端与服务器之间建立持久连接,实现数据的即时推送和低延迟交互。相比传统的 HTTP 请求-响应模式,它更适合需要频繁数据交换的场景。
🧠 核心概念
全双工通信
- 双方可同时发送和接收数据(如聊天室、实时游戏)
- 使用 💡 图标表示双向数据流
握手过程
- 通过 HTTP 协议升级为 WebSocket 连接
- 关键步骤:
GET
请求 →101 Switching Protocols
响应
协议特点
- 低延迟(相比 HTTP 的头部开销)
- 保持连接(无需重复建立)
- 支持二进制和文本数据
📈 工作原理
WebSocket 通信分为三个阶段:
- 连接建立
- 客户端发送
WebSocket_请求
- 服务器响应
WebSocket_接受
- 客户端发送
- 数据传输
- 使用
WebSocket_消息格式
(如text
或binary
) - 通过
WebSocket_通信原理图
展示数据双向流动
- 使用
🧾 代码示例(Node.js)
// 服务器端
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });
wss.on('connection', (ws) => {
ws.send('Hello from server!');
ws.on('message', (message) => {
console.log('Received:', message);
});
});
// 客户端
const ws = new WebSocket('ws://localhost:8080');
ws.on('open', () => {
ws.send('Hello from client!');
});
⚠️ 图片关键词可替换为
WebSocket_代码示例
或WebSocket_服务器客户端
📌 典型应用场景
- 实时聊天(💬)
- 在线游戏(🎮)
- 数据仪表盘(📊)
- 金融交易实时更新(📈)
📚 扩展阅读
想深入了解 HTTP 与 WebSocket 的区别?
👉 点击查看教程
📷 图片关键词建议:
WebSocket_应用场景
、WebSocket_实时数据流
、WebSocket_协议结构