WebSocket实时通信实践

WebSocket是实现实时通信的关键技术。本文介绍WebSocket的使用方法和最佳实践。

为什么需要WebSocket

HTTP是请求-响应模式,服务器无法主动推送数据。WebSocket建立持久连接,支持双向通信。

简单示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 服务端
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });

wss.on('connection', (ws) => {
ws.on('message', (message) => {
console.log('收到:', message);
ws.send('收到消息');
});
});

// 客户端
const ws = new WebSocket('ws://localhost:8080');
ws.onopen = () => ws.send('Hello');

应用场景

  • 聊天应用
  • 实时通知
  • 在线游戏
  • 股票行情

注意事项

  • 处理断线重连
  • 心跳检测保活
  • 消息压缩优化

WebSocket让实时应用成为可能!