» Node.js:使用Socket.IO创建Web Chat App在线聊天应用 » 2. 开发 » 2.3 聊天消息

聊天消息

对服务端而言,一对一聊天就是将消息从一个 socket 转发到另一个 socket。

更新 app.js:

@@ -25,6 +25,11 @@ io.on("connection", (socket) => {
     // Broadcast to all connected clients
     io.emit("contacts", Array.from(users.entries()));
   });
+
+  socket.on("chat", (data) => {
+    const { to } = data;
+    io.to(to).emit("chat", data);
+  });
 });
 
 // Start the server

data 包含以下字段:

  • to: 消息的目标接收者 socket ID。
  • from: 发送者的 socket ID。
  • msg: 消息内容。

io.to() 是 Socket.IO 提供的方法,用于发出(emit)事件到指定目标 sockets 或房间。