我想更新显示页面中div块的内容,刷新率至少每秒25次。
应从远程服务器下载作为更改主题的内容。下载大小小于1kB,生成的html内容大约10kB
我试过jQuery:
function test(){
$( "#message" ).load( "http://www.server-side/content.php" );}
但是有
setInterval(function(){test()},50)
我达到每秒5次最大刷新率(5Hz)
有没有其他技术可以更快地更新div内容的响应时间?
我不确定此问题是否与更新页面或获取更新源有关。也许需要不同的访问服务器端内容的方法?
答案 0 :(得分:4)
这是可能的,但非常高阶。
首先,如果你在setInterval中使用50的间隔,它将以每秒20次最大值而不是25次。更重要的是,这将在很大程度上取决于很多因素,包括一些可能超出你的因素控制。服务器速度和延迟可能是最大的瓶颈。有些浏览器也可能很难跟上。
我建议你使用Chrome开发者工具(点击F12),特别是网络标签。查看生成每个请求所需的时间,服务器响应的时间以及数据传输所需的时间。即使在非常快速的连接中,使用TCP / IP“填充管道”也需要一些时间,因此您不会最大化理论连接速度。根据您看到的数字,您可能需要提高服务器速度,重构代码或考虑使用其他主机。
更好的解决方案是HTML 5套接字或可以保持连续连接的插件。通过AJAX执行此操作的持续连接/传输/断开可能太慢而无法达到25 Hz。