2011-11-27 182 views
17

是否有可能獲得已斷開連接的客戶端的socket.id?下面的代碼給我undefinedsocket.idsocket.id斷開連接客戶端?

Node.js的代碼

io.sockets.on('connection', function() { 
    socket.on('disconnect', function(socket) { 
     console.log(socket.id); 
    }); 
}); 

回答

35

的回調函數io.sockets.on作爲它的第二個參數是應該採取一個參數:插座。你的不是,所以第二行的套接字socket.on未定義。

並且socket.on的回調沒有給出任何參數,所以該函數中的socket也是未定義的。

如果從第二個函數聲明移動插座參數爲第一的代碼應工作:

io.sockets.on('connection', function (socket) { 
    socket.on('disconnect', function() { 
     console.log(socket.id); 
    }); 
}); 
相關問題