我正在编程与Node聊天。一切都快完成了。有不同的聊天室。示例:如果某人在房间1中,则只会从此房间收到消息。但我想知道在这个房间(只有这个房间)连接用户的最佳方式。
我曾考虑过两种方式,但我不确定它们是否是最佳选择。在服务器中拥有一个由房间连接的所有用户的数组。 2.当用户连接到房间以将此用户添加到数据库并在渲染房间时让这些用户连接。当他们断开从数据库删除。
在某种程度上,2选项与数组在db中的第一个选项相同。 你会建议用其他什么方式? 我正在使用mongoose和socket.io。
io.of('/chatroom').on('connection',function(socket) {
socket.on('join',function(data) {
db.roomModel.findById(data.roomId,function(err,room) {
if(err) throw err;
if(room) {
// I am storing the users connected in that room
// in the database
room.connections.push({userId : data.userId});
room.save();
}
});
});
});
然后当用户断开连接时,我将其从数据库中删除。 是否建议以这种方式这样做。