gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-11-01 00:32:15 24 4
gpt4 key购买 nike

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

在客户端,我向服务器发出信号以进行监听

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

在 Node 上

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(登录其他浏览器),它不会向该用户发送任何内容。

请指出发生某些操作时我如何向不同的用户发送通知。

最佳答案

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

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

关于javascript - 使用 node.js + socket.io 发送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26593695/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com