节点ID由套接字ID组成

时间:2014-11-30 02:26:28

标签: arrays node.js socket.io

我在客户端有socketio连接到另一端的nodejs所以

所以我的服务同时使用不同的数据为许多用户提供服务

所以在nodejs上有:

   io.on("connect",function(socket){
   var socket.id = []; /// i know this not gonna work

   }):

所以我想制作一个包含每个套接字数据的数组,所以我想获得套接字ID,并使用套接字ID的名称制作一个arry

所以我可以通过其数组访问每个套接字

如果我可以使用socket disconnect上的数据销毁数组

谢谢:D

1 个答案:

答案 0 :(得分:0)

您可以使用具有套接字ID的对象作为密钥并包含相关数据。

var socketio = require("socket.io");
var io = socketio.listen(app);
var socketInfo = {};
io.on("connection",function(socket){
    socketInfo[socket.id]  = [];
    socketInfo[socket.id].socket =  socket;
    socketInfo[socket.id].data =  {}; //store socket related data here

    socket.on('disconnect', function() {
        delete socketInfo[socket.id]
    });
}):

为了发射你可以这样做:

var socket = socketInfo[socketID].socket;
socket.emit('message', socketInfo[socketID].data);