用socket.io广播?

从数据库结果中提供JSONstring的简单函数使用socket.broadcast()广播到客户端。 我想要做的事情是在价值变化的时候更新客户端。 目前,广播function是使用setTimeout每1秒连续播放。 查看Firebug中的请求日志,有一个连续的GET响应,我不认为这是一件好事。

只是想知道什么是使用套接字的最佳做法? 这些要求是否会杀死一些东西? 一个解决scheme是比较时间戳,或类似的东西停止不必要的发送请求?

//server-side function checkData() { client.query('SELECT * FROM data', function selectCb(err, data) { socket.broadcast(processData(data)); setTimeout(checkData, 1000); }); } //client-side socket.on('message', function(data) { $('#container').html(JSON.stringify(JSON.parse(data), null)); }); //sample data [{ "type":"Statistic1", "value":65.2, "timestamp":"2011-04-29T16:22:39.000Z" },{ "type":"Statistic2", "value":18.6, "timestamp":"2011-04-29T16:22:39.000Z" }] 

谢谢你的帮助!

这取决于你发送的数据。 套接字的好处之一是可以select何时向客户端发送数据。 保存一些获取请求,只有当你有新的东西发送时才广播数据。