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 教程