2015-02-14 4 views
0

В радиовещательных сообщениях раздела http://socket.io/docs/#broadcasting-messages есть следующее описаниеПочему трансляция, описанная как флаг в документах, когда это фактически объект?

Для трансляции, просто добавьте флаг вещания испускать и передавать метод вызовов. Вещание означает отправку сообщения всем остальным, кроме для сокета, который его запускает. Сервер

var io = require('socket.io').listen(80); 

io.sockets.on('connection', function (socket) { 
    socket.broadcast.emit('user connected'); 
}); 

The широковещательного является объектом. Почему описание документа ссылается на него как флаг

ответ

2

Внутренне в реализации socket.io, broadcast - это флаг, который отправляется с источником, который сообщает базовой инфраструктуре, что делать. См. the source for that flag here, и вы можете увидеть here in the source, где он проверяет этот флаг на сокете, чтобы решить, следует ли передавать данный emit.

broadcast в socket.broadcast.emit() действительно является объектом.

broadcast также является методом на объекте адаптера, который используется внутри socket.io. Таким образом, они использовали термин почти для всего (флаг, объект, метод). Документ имеет несколько различных видов использования, запутанных в случае, когда вы ссылаетесь.

Сокет.io doc - это то, что он (не так хорошо, как мог). Я нахожу постоянные ссылки на исходный код в Github или даже отслеживание выполнения в отладчике, чтобы быть важным для понимания того, как все работает.

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

  • Нет связанных вопросов^_^