如何使用 node.js socket.io 和 express 构建和聊天应用程序(使用群聊和私人消息)?

How to build and chat app (with Group Chat and Private Messaging )using node.js socket.io and express?

如何搭建一个可以私信群聊的聊天应用?

你的问题很简单。但答案更复杂。您必须为 node.js 使用 Socket.IO 包,为前端库(React.js、React Native、Flutter)使用 Socket.IO-client。

套接字是如何工作的。

io.to(socket.id).emit("event", data);

每当用户加入服务器时,都会生成套接字详细信息,包括 ID。这个 ID 确实有助于向特定的人发送消息。

首先我们需要将所有的socket.ids存储在数组中,

var people={};

people[name] =  socket.id;

所以,现在我们每次发送消息时都可以得到 socket.id 和接收者的名字:

为此,我们需要知道接收者姓名。您需要向服务器发送接收者名称。

最后的事情是:

 socket.on('chat message', function(data){
io.to(people[data.receiver]).emit('chat message', data.msg);
});

这就是私人聊天的工作方式。