2014-12-03 244 views
0

我有,其中一个Web应用程序客户端发送一个Ajax请求的更新请求的node.js服务器,以检查是否有针对客户用户的任何通知... 这个请求发生的每30秒,即使我有性能测试,我的服务器端不能真正采取它。我已经将间隔时间更新为每2分钟一次,但尚未刷新的客户端仍然每30分钟发送一次请求。我如何才能让这些客户按需求进行更新,并阻止他们发送这些请求?如何阻止客户端向服务器发送ajax请求?

由于提前, 伊泰

编辑: 只是为了让我有没有问题,限制了它,我已经有了。问题在于用户不刷新页面,因此包含该限制的客户端代码不会在其浏览器中刷新。 所以阿贾克斯与网络插座不是真的我的问题...

+1

你需要做下一次更好地利用最后一次修改,过期和缓存控制头。您现在可能是SOL,具体取决于现有用户如何配置和缓存。那就是说,如果你的节点盒子不能每隔30秒处理一次请求,那么mudville里的东西听起来很不对劲。 – dandavis 2014-12-03 08:55:16

+0

使用Socket进行实时更新,setInterval的将派出多要求在几分钟内 – 2014-12-03 08:56:06

+0

请参阅编辑澄清...... – 2014-12-03 12:33:22

回答

0

javascript的setinterval()函数可以在你的情况下非常有用。

可以通过间接地调用该函数通过的setInterval(),其经由您choice.function的特殊间隔参数配置然后将在以毫秒为单位指定的时间间隔执行控制功能的功能执行的频率。

可以简单地通过调用函数通过setInterval()函数间接发送AJAX请求限制AJAX请求和限制的时间间隔为30秒。

希望这将是有益的给你!

请发表评论以获取更多说明。

+0

我没有问题,限制了它,我已经有了。问题在于用户不刷新页面,因此包含该限制的客户端代码不会在其浏览器中刷新。 – 2014-12-03 12:07:49

+0

Okk !!所以我认为html5 websockets是一个更好的选择,在这种情况下,也可以在其他评论中指定。另外,请看看彗星以及我为你准备好的文章。 http://www.pointsoftware.ch/en/websocket-versus-comet-real-time-web-applications/ – 2014-12-03 12:26:30

0

我认为你应该使用网络插座,您的服务器的NodeJS有与网站的持久,但光连接。

退房Socket.IO,例如:http://socket.io

相关问题