【发布时间】:2015-02-28 10:22:11
【问题描述】:
我创建了类似聊天的东西,我知道如何使用 (sails.sockets.broadcast(...em)) 向房间内的所有用户发送消息,但不明白如何向一个用户发送消息(我认为是聊天2 个用户之间),当第二个用户向第一个用户发送消息时,首先获取第二个用户发送的消息,但是当我创建 3 个用户时,当第三个用户向第一个用户发送消息时 - 第二个用户也收到消息,我该怎么办这。 谁知道怎么做?
【问题讨论】:
我创建了类似聊天的东西,我知道如何使用 (sails.sockets.broadcast(...em)) 向房间内的所有用户发送消息,但不明白如何向一个用户发送消息(我认为是聊天2 个用户之间),当第二个用户向第一个用户发送消息时,首先获取第二个用户发送的消息,但是当我创建 3 个用户时,当第三个用户向第一个用户发送消息时 - 第二个用户也收到消息,我该怎么办这。 谁知道怎么做?
【问题讨论】:
Socket.io 内置了房间。您可以执行以下操作:
io.on('connection', function(socket){
socket.join('some room');
});
然后用 :
调用它io.to('some room').emit('some event');
或者,您可以在服务器端与发射一起传入一个对象,然后在客户端检查该对象是否存在。例如:
var obj = {
shouldDisplay: someIDhere
}
socket.emit('yourEvent', obj);
然后检查传入事件的对象是否具有要显示消息的用户的ID
【讨论】: