タイトルで述べたように、部屋ごとに異なる配列を定義したいと考えています。例えば:
room1の場合、配列はvar colors=['red','blue'],
room2の場合、配列は になりますvar colors=['black','white']
。(同名で内容は異なります)
これが私の単純化されたサーバーです:
var io = require('socket.io').listen(3000).set('log level', 2);
io.sockets.on('connection', function (socket) {
var room = socket.handshake.query.room; // room1 -- ws://localhost:3000/?room=room1
socket.join(r); // add client to 'room1' room.
// var colors = ['yellow','green'];
io.sockets.in(r).emit('m', colors);
}
if(h=='room1') { var colors=['a','b'];} elseif(room=='room2') { var colors=['y','z']; }
部屋がたくさんあるので、私はそのようなものを望んでいません。
どうすればこれを達成できますか? ルームの代わりに名前空間を使用する必要がありますか?