2013-12-10 4 views
2

Я работаю над многопользовательской настольной игрой на Node.js/Socket.IO. Поток состоит в следующем:Socket.IO несколько страниц для одного и того же пользователя/сокета

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

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

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

Благодаря

ответ

3

Однако мне теперь нужно, чтобы пользователь имел возможность объединить несколько номеров игр одновременно. страницы динамически генерируются экспрессом, и нет проблем с открытием многих игровых страниц. [...] Можно ли использовать один сокет для нескольких комнат (для одного и того же пользователя) или мне нужно создать новый сокет в комнате?

Страницы, открытые пользователем отдельно, не имеют отношения друг к другу. Есть некоторые хакерские способы (например, Flash LocalConnection), но вы никогда не должны полагаться на них. Поэтому для каждой страницы требуется собственное подключение к вашему серверу.

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

Однако вы хотите. Эта реализация зависит от вас. Если вы используете функцию «комнаты» Socket.IO, я предлагаю не использовать ее, чтобы у вас была максимальная гибкость в вашей реализации.

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