【发布时间】:2018-06-19 10:53:37
【问题描述】:
这是我使用socket.io rooms与两个用户实现一对一聊天的方法
USERS TABLE
------------
id name
1 bar
2 foo
3 clay
假设用户bar想和foo聊天
socket.join(1);
socket.join(2);
在发送消息时,使用相反的用户 ID 作为接收者 ID,以便我可以轻松发送消息
socket.on('chat', function(data){
//data object contains other user id as receiver id
io.sockets.in(data.receiverId).emit('chat',{
message:data.message,
created_at:new Date()
});
});
这很好用,但我一次需要一个条件,用户只能与用户聊天一次。
如果clay 向bar 发送消息,则bar 可以读取该消息,那么我该如何避免这个问题
【问题讨论】:
-
您不能在聊天室私下发送消息。这里 data.receiverId 充当房间 ID。它不是任何用户 ID。知道吗??
-
那么我该如何解决我的问题
-
stackoverflow.com/a/65787883/3904109 :完整的工作解决方案
标签: javascript node.js socket.io