簡體   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