【发布时间】:2018-12-30 10:18:56
【问题描述】:
我正在创建与 Socket.IO 和 Express 的聊天,以便能够一对一聊天(私人聊天)。
主要问题是:我想向 socket.id 发送私人消息,但我希望发送者收到与他发送给接收者相同的消息。
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
});
}
我想知道是否有更好的方法来创建私人聊天,或者我是否走错了方向。
【问题讨论】:
-
两年前我也花了很多时间在这个问题上,我认为我们不能用socket.io做到这一点。我们必须在DB中使用一些其他逻辑。
-
stackoverflow.com/a/65787883/3904109 :看看这里也可能有帮助
标签: javascript node.js sockets express socket.io