Socket.io 向房间里的每个人发出,除了发件人[重复]
Posted
技术标签:
【中文标题】Socket.io 向房间里的每个人发出,除了发件人[重复]【英文标题】:Socket.io emit to everyone in the room except the sender [duplicate] 【发布时间】:2015-03-20 12:22:55 【问题描述】:所以我有一个聊天室,我想向除我之外的所有人发送消息(b/c 我将通过 JS 在表单提交时更新聊天窗口和我的消息),我尝试这样:
io.sockets.in(socket.room)
.broadcast
.emit('new message',
'username' : socket.nickname,
'message' : data,
'color' : socket.color
);
它不起作用。你们知道我该怎么做吗?
【问题讨论】:
应该是socket.broadcast.to(socket.room).emit(...);
这个答案中的好列表:***.com/a/10099325/4879
【参考方案1】:
如果你只是删除广播,你应该发送给所有人,甚至是发送者。广播命名空间使得消息被发送给发送者除了的每个人。只需检查docs。比如
io.sockets.in(socket.room)
.emit('new message',
'username' : socket.nickname,
'message' : data,
'color' : socket.color
);
【讨论】:
是的,但这也会向我自己发出,我不想看到这条消息……只有房间里的其他人才能看到我的消息以上是关于Socket.io 向房间里的每个人发出,除了发件人[重复]的主要内容,如果未能解决你的问题,请参考以下文章