2015-02-23 59 views
0

在下面的回覆這個簡單的代碼我想嘗試在nodeJs上獲取連接用戶後,我可以回覆任何消息後發送從Android設備pm,在此代碼如何發送消息爲連接的用戶通過套接字?NodeJS通過SocketID

var io = require('socket.io'); 
var server = io.listen(4732); 

var android_socket = undefined; 

server.sockets.on('connection', function(socket) { 
    socket.on('user', function(data) { 

     if (data.type == "client") 
      //saving socket 
      android_socket = socket; 
     } 

    }); 

    socket.on("pm", function(data) { 
     /* Reply message to android_socket */   
    }); 
}); 

console.log('server is connected...'); 

回答

2

你可以簡單地emit事件給收到pm事件相同的插座:

socket.on("pm", function(data) { 
    /* send reply event */ 
    socket.emit('foo', {data: 123}); 
}); 

套接字連接到Android客戶端。

有沒有必要存儲任何android_socket參考。實際上,您的方法(存儲單個套接字引用)無論如何都無法正常工作,因爲可能會同時打開多個android套接字連接。

+0

所以如果這是真的不要necessery保存套接字,如何找到一些連接套接字之間的套接字ID到服務器 – 2015-02-24 14:47:34

+0

您可能會問這個問題的副本:http://stackoverflow.com/questions/8467784/sending-一個消息到一個客戶端 - 通過其通插座-ID。在其非常好的接受答案中,'clients'和'users'哈希值存儲有關套接字和用戶以供以後使用的信息。 – cybersam 2015-02-24 17:46:32