Websockets 是一种在单个 TCP 连接上进行全双工通信的协议。它允许服务器和客户端之间进行实时数据交换,无需多次建立连接。
特点
- 全双工通信:客户端和服务器可以同时发送和接收数据。
- 实时数据传输:无需轮询或长轮询,可以实现实时数据传输。
- 低延迟:由于减少了 HTTP 请求的开销,Websockets 可以实现更低的延迟。
使用场景
- 在线聊天
- 实时游戏
- 股票交易
- 在线协作
示例
以下是一个简单的 Websockets 通信示例:
// 客户端
const socket = new WebSocket('ws://localhost:8080');
socket.onopen = function(event) {
console.log('WebSocket 连接已建立');
};
socket.onmessage = function(event) {
console.log('收到消息:' + event.data);
};
socket.onclose = function(event) {
console.log('WebSocket 连接已关闭');
};
// 服务器
const WebSocketServer = require('ws').Server;
const wss = new WebSocketServer({ port: 8080 });
wss.on('connection', function(ws) {
ws.on('message', function(message) {
console.log('收到消息:' + message);
ws.send('收到你的消息:' + message);
});
});
扩展阅读
更多关于 Websockets 的信息,请参考 本站 Websockets 教程。