WebSocket 提供了一种在单个 TCP 连接上进行全双工通讯的协议。相较于传统的 HTTP 请求,WebSocket 可以实现更高效的实时数据传输。
主要特点
- 全双工通信:WebSocket 连接建立后,客户端和服务器可以随时发送数据。
- 低延迟:由于数据在建立连接后直接传输,因此延迟较低。
- 支持跨域:WebSocket 可以实现跨域通信。
应用场景
- 在线聊天:实现实时、高效的聊天功能。
- 实时游戏:实现实时对战、多人协作等功能。
- 实时数据监控:实现实时监控数据变化。
代码示例
以下是一个简单的 WebSocket 服务器和客户端示例:
// 服务器端
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });
wss.on('connection', function connection(ws) {
ws.on('message', function incoming(message) {
console.log('received: %s', message);
});
ws.send('something');
});
// 客户端
const WebSocket = require('ws');
const ws = new WebSocket('ws://localhost:8080');
ws.on('open', function open() {
ws.send('hello');
});
ws.on('message', function incoming(data) {
console.log('received: %s', data);
});
扩展阅读
更多关于 WebSocket 的内容,可以参考本站的 WebSocket 教程。