[英]Sending notification using 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(已在其他瀏覽器中登錄),則不會向該用戶發送任何內容。
請指出發生某些操作時如何將通知發送給其他用戶。
如果要向同一名稱空間下的其他用戶發送通知:
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)
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.