2016-03-14 2 views
0

Я пытаюсь создать систему знакомств на основе Socket.IO. Я настроил сервер, и данные обычно хранятся в массиве. Теперь мне интересно:
• Когда 10 игроков присоединяются к основной комнате («Очередь»), которая по умолчанию подключена, как я могу создать новую комнату с уникальным идентификатором (т. Е. Lobby_982311298_3427834) и поместить этих людей в это комната.
• Для следующих 10 игроков создайте новый уникальный идентификатор и поместите их в эту новую комнату.
Спасибо.Socket.IO - для каждого числа клиентов создайте новый номер с уникальным именем/ID

ответ

0

В моем случае, что для 2-х людей случайным образом выбран из массива, я сделал это с чем-то вроде этого:

function newRoom(user1, user2){ 
    users.forEach(function(user){ 
    if(user.name == user1 || user.name == user2){ 
     io.sockets.connected[user.id].join('room'+i); 
    } 
}); 
    rooms.push(io.nsps['/'].adapter.rooms['room'+i]); 
    i++; 
} 

Где user1 и user2 объекты с именем и идентификатором (который является socket.id). forEach проверяет весь массив users, где хранятся пользователи.
Так что вместо «комнаты» + i вы, вероятно, хотите что-то вроде socket.join(roomname), где roomname имеет заданное строковое значение, в вашем случае может быть какое-то случайное число, связанное или сокет.ими клиентов.

Смежные вопросы