【问题标题】:Emit to specific person by socket.io通过 socket.io 发送给特定的人
【发布时间】:2023-03-13 03:58:01
【问题描述】:

我正在使用 socket.io 和 passport.js 来验证人们的 Steam 帐户。我希望能够将数据发送到特定 Steam 的 ID。我已经在使用了

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

在socket.io中访问护照的护照数据。我曾想过将活动套接字存储在数组中,然后找到一个具有正确 Steam ID 的套接字。有更好的解决方案吗?

【问题讨论】:

    标签: javascript node.js socket.io passport.js steam


    【解决方案1】:
    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"});
    });
    

    你应该在快速路线中使用它。在快速路线中获取数据和发送数据很棘手。按照此链接在快速路由How to use socket.io in express routes?中设置socket.io

    【讨论】:

      猜你喜欢
      • 2020-11-18
      • 2013-06-24
      • 2017-08-29
      • 1970-01-01
      • 2014-10-24
      • 2014-12-13
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      相关资源
      最近更新 更多