簡體   English   中英

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

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM