2016-05-14 143 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?

相关问题