如何使用 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);
});
这就是私人聊天的工作方式。
如何搭建一个可以私信群聊的聊天应用?
你的问题很简单。但答案更复杂。您必须为 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);
});
这就是私人聊天的工作方式。