2016-06-30 3 views
0

Я новичок в socketIO, и мой сайт будет иметь 2 игровых режима, мой план состоял в том, чтобы сделать 2 скрипта для каждого игрового режима, но думая об этом, я бы предпочел, чтобы один сценарий сделал это все. В настоящее время у меня есть настройка, поэтому скрипт исходит для всех подключенных. Есть ли способ, чтобы испустить для пользователей, которые находятся в определенном массиве или что-то ...SocketIO NodeJS Gamemode Type emit

В настоящее время я передавать данные как этот

io.emit("updateTimeLeft", runTime); 

Дело в том, что я запутался о том, что я делаю тезисы о событиях в моем сценарии, которые транслируются всем. Как я могу получить конкретные сокеты для отправки ...

Могу ли я сохранить сокет пользователей в массиве, а затем просто перечислить их и отправить нужные мне данные? Я не знаю, будет ли это работать. Какие-либо предложения?

+1

читать сокет Io документации специально для пространства имен и номеров , Я думаю, что это то, что вы ищете http://socket.io/docs/rooms-and-namespaces/ – Sam

ответ

1

Сэм прав. вы должны использовать комнаты (которая является встроенным решением в socket.io) для каждой «группы».

Пример кода:

socket.join('myroom'); 

С этого момента, вы можете генерировать события для всех сокетов, которые находятся в «myroom» таким образом:

io.to('myroom').emit('some event'): 
+0

Это потрясающе, я даже не знал, что это было! Благодаря! – jdne

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