在我能够写出这样的东西之前:
io.sockets.clients().forEach(function (socket) {
socket.emit(signal,data);
});
现在,我不能并且收到错误Object #<Namespace> has no method 'clients'
还有其他方法可以做到这一点吗?这是使用套接字 v1.0 的情况。 (或者我认为是 1.0.2)。
为此我知道我可以使用io.emit()
,但我想迭代套接字并在计时器中对它们执行功能。我可以将所有内容重构为回调并设置计时器io.on()
,但我认为我需要能够使用引用(我认为javascript会复制该对象socket
在这种情况下而不是引用它?)
这是一个例子
setInterval(function(){
io.sockets.clients().forEach(function (socket) {
socket.emit('newMessage',someCalculations());
});
},1000);
如果有关所有已连接套接字的信息必须发送到单个socket then
for (var i in io.sockets.connected) {
var s = io.sockets.connected[i];
if (socket.id === s.id) {
continue;
}
socket.emit('notify_user_state', s.notify_user_state_data)
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)