繁体   English   中英

使用Socket IO的Node JS服务器阵列

[英]Node JS server Array using Socket IO

从不同的Socket IO客户端,我正在将包含两个项目的数组发送回服务器。 这两个项目是一个分数,该客户的套接字ID如下所示:

    [10,'_D4A1eiGJRg_ZxHRyf6A']

在服务器端,在套接字客户端的连接上,我创建了一个基于用户的套接字ID将用户添加到的对象:例如:

    users = {
        '_D4A1eiGJRg_ZxHRyf6A' : user {
         score : 0,
         finished : false,
         winner : false
        },
        'xnSJPYEM_aEo08T4yf5_' : user {
         score : 0,
         finished : false,
         winner : false
        },
    }

通过上述数组发送数据时,我试图更新此对象。 这是我用来尝试实现此目的的服务器端代码:

    socket.on('finish', function(data) {
        users[data[1]]['score'] = data[0];
        users[data[1]]['finished'] = true;
    });

取而代之的是,正在使用在数组中发送的数据更新users对象的所有属性,而不仅仅是具有匹配的Socket ID的属性。

谁能告诉我我在做什么错?

谢谢!

如果您可以这样做,并以此为对象,那就更好了:

users = {
    '_D4A1eiGJRg_ZxHRyf6A' : {
     score : 0,
     finished : false,
     winner : false
    },
    'xnSJPYEM_aEo08T4yf5_' : {
     score : 0,
     finished : false,
     winner : false
    },
}

服务器端:

socket.on('finish', function(data) {
users[data[1]].score = data[0];
users[data[1]].finished = true;
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM