2012-03-14 2 views
3

Я разрабатываю приложение в nodeJS, которое использует socket.io для интерактивного игрового процесса. Внутри блока обратного вызова socket.on ('connection') я объявил несколько переменных. Из того, что я могу сказать, эти переменные являются специфичными для подключения, и для каждого обратного вызова, запускаемого для соединения сокета для каждого клиента, будет экземпляр.Связанные с подключением переменные в nodeJS/Socket.io

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

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

Неправильно ли мое предположение о специфических для подключения переменных? Или существует более тонкая причина, связанная с конкретными приложениями, которая может произойти?

ответ

1

Ваше предположение верно - переменные являются локальными для события подключения к каждому сокету. Есть что-то еще, что вызывает проблемы.

+0

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

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