Node.js与Socket.IO setTimeout无法正常工作

时间:2016-09-22 18:04:09

标签: javascript node.js socket.io settimeout

我正在用canvas和Node.js进行一些测试,我在我的server.js中有这个:

function updateAllClients() {
    io.sockets.emit('update', {x:x, y:y});
    x++;
    y++;
    t = setTimeout(updateAllClients, 100);
}
updateAllClients();

在我的客户中:

socket.on('update', function(data) {
    animate(data.x, data.y);
});

我检查了所有功能,但它们正在运行,但是setTimeout没有运行......

1 个答案:

答案 0 :(得分:0)

当我将updateAllClients()放在io.on('connection'...)函数中时,它对我有用,就像这样:

function updateAllClients() {
    io.socket.emit('update', {x:x, y:y});
    x++;
    y++;
    setTimeout(updateAllClients, 100);
}

io.sockets.on('connection', function (socket) {
    updateAllClients();
}