2016-05-14 85 views
0

我使用socket.io和passport.js通過其Steam帳戶驗證用戶身份。我希望能夠將數據發送到特定的Steam ID。我正在使用通過socket.io發送給特定的人

io.use(function(socket, next) { 
    session(socket.handshake, {}, next); 
}); 

訪問護照數據護照內的socket.io。我想過在陣列中存儲活動套接字,然後找到一個具有適當的Steam ID的套接字。有更好的解決方案嗎?

回答

2
var steamUsers= {}; 

io.sockets.on("connection",function(socket){ 
    //from passport 
    socket.steamid= steamid; 

    //store socket for every user 
    steamUsers[socket.steamid] = socket; 

    //emit from their socket 
    steamUsers[steamid].emit('private',{msg:"private message"}); 
}); 

你應該用這個快速路線。在快速路線內獲取數據和發射是棘手的。按照此鏈接在快車路線內設置socket.io How to use socket.io in express routes?

相關問題