Socket.io setInterval不准确

时间:2012-06-28 15:51:05

标签: javascript node.js socket.io

我将Socket.io与Node.js一起使用,并且每秒都有一个发出消息的进程。基本上,我的间隔看起来像这样:

setInterval(function(){
 socket.emit('message', msg);
}, 1000);

当我只使用xhr-polling时,轮询是非常零星的。有时它会相当准确地进行轮询,大约是1.0s或1.01s或999ms。然后其他时间,它将像200毫秒或1.5毫秒等

我已经删除了可能导致服务器延迟的所有逻辑,并且只是发送静态数据,但它仍然是非常零星的。

有关更好处理此方法的想法会更准确吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

我使用Socket.io构建了几款游戏,并且在服务器上以每秒30帧的速度运行,并将信息更新推送到所有客户端。 我记得当客户端不支持套接字时出现问题(回退到闪存) - 看起来客户端发送的数据几乎是即时发送的,但是从服务器发送的数据就像你描述的那样(偶发)。 / p>