I'm creating a chat with Socket.IO and Express to be able to chat one to one (private chat).
The main problem is: I want to send a private message to a socket.id, but I want that the sender receives the same message that he sent to the receiver.
module.exports = (io, socket) => {
socket.on('send private message', async (msg) => {
const emitterUser = // mongoose query to get the emitter
const receiverUser = // mongoose query to get the receiver
// sending to individual socketid (private message)
socket.to(receiverUser.socketId).emit('receiver private message', msg); // <- sending to the receiver
socket.emit('sender private message', msg);// <- sending to the sender
});
}
I would like to know if is there a better way to do it to create a private chat or if I'm going to the wrong direction.