使用node.js + 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(谁login了其他borwser),则不会向该用户发送任何内容。

请指出,如何发送通知给不同的用户。

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

 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'); }) 

没有必要在客户端join你的侦听器名字的id:

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