Socket.io分别与每个用户协作



Giver基于socket.io的简单网络聊天。Node.js代码:

io.on('connection', function(socket) {
    // Works well for all users
    socket.emit('send:message', {
        text: 'hello world'
    });
    // Logs text for all users
    console.log('Socket: User connected');
    // Message receive only user that send it
    socket.on('send:message', function (data) {
        socket.emit('send:message', {
            text: data.message
        });
    });
});

在用户连接之后,客户端代码成功地接收到hello消息(并呈现它)。但当特定用户向服务器发送消息时,他是唯一接收到该消息的人。如何为每个用户广播每条消息?

您需要使用:

socket.broadcast.emit('send:message', {
   text: data.message
});

通过这种方式,所有用户(发件人除外)都将收到此邮件。如果你想向所有人(包括发送者)广播,那么你必须使用:

io.sockets.emit('send:message', {
       text: data.message
});

您可以在http://socket.io/docs/#broadcasting-消息

相关内容

  • 没有找到相关文章

最新更新