node.js socket.ioと異なる部屋を試しています。私は接続されているすべてのユーザーとニックネームのオブジェクトを持っていますが、問題はこのオブジェクトにあります。ユーザーIDに重複する値を格納できないため、同じユーザーに異なる部屋を使用させることはできません。さて、私はすべてのユーザーのニックネームオブジェクトの代わりに、各部屋ごとに異なるオブジェクトを作成したいと思います。だから私はこれのような何かをすることができます:ニックネーム[specific_room] [user.id] =残りのコード..?だから、私は各部屋ごとに別々のデータリストを用意する必要がありますか?または、別々の部屋ごとに動的変数名を使用する必要がありますか?何をお勧めしますか?Node.js多次元オブジェクトと動的変数名
nicknames[user.id]={
'nickname': user.name,
'socketId': socket.id,
'room': room,
};
結果:
{ '1':
{ nickname: 'User1',
socketId: '/#0rb7zbg0RInwKAaMAAAC',
room: '4444',
},
'3':
{ nickname: 'User 2',
socketId: '/#tGZPL8IUPvUoie1CAAAD',
room: '3333',
}
}
は私が達成したいと思います:3333と4444は部屋のユニークなIDがある
{ 3333 { { '1':
{ nickname: 'User1',
socketId: '/#0rb7zbg0RInwKAaMAAAC',
},
'3':
{ nickname: 'User 2',
socketId: '/#tGZPL8IUPvUoie1CAAAD',
}
}
}
4444 {
}
}
。 私はそれを明確にしたいと思う。
何かがあります'socket.join(room_id_here)'や 'socket.leave(room_id_here)'のようなものです。参加すると、指定されたルームIDにユーザーが追加され、そのユーザーからそのユーザーを削除します。 NodeJSとsocket.ioも試しています:) – Jer