我正在使用socket.io编写应用程序。
我对关于socket.broadcast的官方文件感到困惑 从我的测试来看,下面的代码具有相同的效果:
socket.to(id).emit('some event')
socket.broadcast.to(id).emit('some event')
广播有什么作用?
答案 0 :(得分:1)
document.createElement()
在套接字中设置一个标志,
broadcast
告诉经理omit current socket from broadcasting
Socket.prototype.__defineGetter__('broadcast', function () {
this.flags.broadcast = true;
return this;
});
因此Socket.prototype.packet = function (packet) {
if (this.flags.broadcast) {
this.log.debug('broadcasting packet');
this.namespace.in(this.flags.room).except(this.id).packet(packet);
} else {
...
会产生以下影响:连接到socket.broadcast.to(room)
的客户端将不会收到该消息。然而,socket
所有会议室的客户都会收到包含与socket.to(room)
相关联的消息的消息。
我刚刚对套接字v0.9进行了验证,但我怀疑这些机制对于v1是不同的。+