Socket.io消息的发件人无法像其他用户一样获取消息

时间:2015-07-10 16:54:57

标签: node.js websocket socket.io

我想实现Room的{​​{1}}功能,我的配置如下:

io.on('connection', function (socket) {
    socket.join('123');
    //...
}

当我想发出一个事件时:

socket.in('123').emit('sendMessage', {items:values]});

但除了此邮件的发件人之外,每个人都会收到此邮件。为什么?我是否必须emit()为发件人发送单独的邮件?

如果我使用socket.to('123')代替socket.in('123'),我会得到相同的结果而且没有任何变化。我使用Socket.io的官方文件: http://socket.io/docs/rooms-and-namespaces/

1 个答案:

答案 0 :(得分:1)

要将此信息发送给包括发件人在内的所有人,您需要使用以下语法:

io.sockets.in('123').emit('message', 'cool game');

请注意,这是使用全局 io,我认为你会包含这样的内容:

var io = require('socket.io');