在广播消息部分http://socket.io/docs/#broadcasting-messages中,有以下说明
要进行广播,只需在emit和send方法中添加广播标志即可 调用。广播意味着向其他所有人发送消息 用于启动它的套接字。服务器
var io = require('socket.io').listen(80);
io.sockets.on('connection', function (socket) {
socket.broadcast.emit('user connected');
});
广播是一个对象。为什么doc描述将其称为标志
答案 0 :(得分:2)
在socket.io实现的内部,broadcast
是一个带有emit的标志,它告诉底层基础结构该做什么。请参阅the source for that flag here,您可以看到here in the source在套接字上测试该标志的位置,以确定是否应广播给定的emit
。
broadcast
中的socket.broadcast.emit()
确实是一个对象。
broadcast
也是适配器对象上的一个方法,由socket.io在内部使用。因此,他们已将该术语用于几乎所有事物(旗帜,物体,方法)。在您引用的案例中,该文档有一些不同的用法。
socket.io doc就是这样(不是那么好)。我发现Github上的源代码的常量引用,甚至在调试器中跟踪执行,对于理解事物的工作方式至关重要。