使用node.js + socket.io发送通知

时间:2014-10-27 17:50:48

标签: javascript jquery node.js push-notification socket.io

我正在尝试使用Node.js + soket.io发送通知

在客户端,我向服务器发出监听

socket.emit('send to server',{user_id:user_id,other_stuff:other_stuff})

在节点上

socket.on('send to server',function(date){ socket.emit('notification_'+user_id,'test data'); });

在客户端收听通知

socket.on("notification_<?php echo $_SESSION['user_id'];?>",function(date){alert(data)});

问题是它不向其他用户发送通知

如果我在发出“发送到服务器”期间传递了我自己的user_id,那么它会返回给我自己,但是如果使用其他user_id(登录其他borwser的人),它不会向该用户发送任何内容。

请指出在发生某些操作时我如何向其他用户发送通知。

1 个答案:

答案 0 :(得分:4)

如果您想在同一名称空间下向其他用户发送通知:

socket.on('send to server',function(data){ 
        socket.broadcast('notification','test data'); 
    })

仅适用于特定用户(sockets.io 1.x)

socket.on('send to server',function(data){ 
    socketId =  getSocketIdFromUserId(user_id);
    io.to(socketId).emit('notification', 'test data');
 })

不需要将id与您的侦听器名称一起加入 在客户端:

socket.on('notification',function(data){
    alert(data)
});