Как создать групповой чат, используя socket.io
. ?? В моем приложении есть пользователи, и они также могут зарегистрироваться, а ниже вы можете увидеть чат один на один, как создать группу и добавить в нее пользователей, чтобы помочь мне
Где мой код чата один на один показано ниже.
io.on("connection", socket => {
let userId = parseInt(socket.handshake.query.userId);
// console.log("New connection was made:", socket.id);
// attach incoming listener for new user
socket.on("user_connected", (email) => {
// console.log(email);
// an array to find the no. of users currently online
onlineUsers.push(userId);
// save in users object
users[email] = socket.id;
// socket ID will be used to send message to individual person
// notify all connected clients
io.emit("online_users", onlineUsers);
});
socket.on("send_message", (data) => {
// console.log(data);
let creationDate = new Date();
con.query("INSERT INTO chat_messages (sender, receiver, message, sent_on) VALUES(?, ?, ?, ?)", [data.sender, data.receiver, data.message, creationDate], (error, results) => {
if(!error) {
let socketId = users[data.receiver];
// send message to receiver
io.to(socketId).emit("new_message", data);
} else {
console.log('DB connection failed \n Error' + JSON.stringify(error, undefined, 2));
}
});
});
socket.on("disconnect", () => {
con.query("SELECT email FROM register WHERE id = ?", [userId], (error, row) => {
if(!error) {
// To remove the user id of disconnected user
onlineUsers.splice(onlineUsers.indexOf(userId), 1);
// To remove the socket id of the disconnected user
delete users[row[0].email];
// notify all connected clients
io.emit("online_users", onlineUsers);
} else{
console.log('DB connection failed \n Error' + JSON.stringify(error, undefined, 2));
}
});
});
});
выше приведен мой код на стороне сервера. помогите создать групповой чат