если на обьект channel тогда получается событие data будет срабатівать только в том окне в котором я чтото печатаю и после на обьекте channel вызывать событие broadcast которое вызовет this.subscriptions[id], не могу понять как получается что события вызываются во всех окнах кроме того что я пишу?
в переменную id помещается текущий отправитель (айпи+порт).
далее вызывается событие join, которое создает обработчик события broadcast. при этом id текущего отправителя остается в переменной id. тут замыкание создается.
далее событие data вызывает обработчик broadcast, передавая ему id клиентов. и этот обработчик сравнивает их айди с текущим.
вроде так