2014-02-13 3 views
1

Я пытаюсь собрать приложение, основанное на чатах, где в каждой комнате могут быть только 2 человека.Socket.io limit number of users

Также необходимо запомнить порядок, в котором пользователи вошли в комнату. Он должен распространяться на пример сокета типа чата, но позволяет использовать «комнаты» для пар людей, которые затем могут играть в «случайную игру», то есть будет «вестибюль» комнат или «создать комнату» и каждую комнату будет либо 1 человек, либо 2 человека (и полный).

Что я могу не понять, как ограничить количество людей, подключающихся к комнате в socket.io?

Возможно?

+1

Это не сокет.io базовая вещь. Это то, что вы должны реализовать самостоятельно. Покажите здесь некоторый код того, что вам уже нужно, чтобы получить определенные указатели. – Zlatko

ответ

2

Вы должны реализовать свою собственную логику. Тем не менее, вы можете рассчитывать количество клиентов в комнате этим:

io.sockets.clients('room') 

Это возвращает массив сокетов экземпляров всех клиентов в комнате. Проверьте, больше ли длина этого массива или меньше 2. Если новый клиент хочет присоединиться к комнате, в которой уже есть 2 клиента, вы можете легко помешать ему это сделать. Надеюсь, это сработает для вас.

+1

Недействительно для 1.X. Для этого обратитесь к http://stackoverflow.com/questions/9352549/getting-how-many-people-are-in-a-chat-room-in-socket-io#24425207 – Musa