我正在看Twitter Streaming API获取实时Feed。 但我不希望它存储在我的服务器上。 我只是想从服务器中取出它,浏览器页面将从我服务器的twitter pull URL中检索数据。 但我想避免每隔几毫秒轮询我的服务器。 有没有办法让我的服务器脚本继续推送到我的浏览器页面?
答案 0 :(得分:2)
查看COMET。
In web development, Comet is a neologism to describe a web application model in which a long-held HTTP request allows a web server to push data to a browser, without the browser explicitly requesting it.
我一直想尝试这种方法,但我没有接受它:
隐藏的IFrame
动态Web应用程序的基本技术是使用隐藏的IFrame HTML元素(内联框架,允许网站将一个HTML文档嵌入另一个HTML文档)。这个不可见的IFrame作为一个chunked块发送,它隐式地将它声明为无限长(有时称为“永远帧”)。当事件发生时,iframe逐渐填充脚本标记,其中包含要在浏览器中执行的JavaScript。由于浏览器以递增方式呈现HTML页面,因此每个脚本标记都会在收到时执行。[8]
IFrame方法的一个好处是它可以在每个常见的浏览器中使用。这种技术的两个缺点是缺乏可靠的错误处理方法,以及无法跟踪请求调用过程的状态。[8]
答案 1 :(得分:2)
你想要它有多活?有很多方法可以设置套接字,但它们可能相当复杂,并且仍然会消耗其公平的带宽份额。
每隔5,10秒左右轮询一次是否可以接受?每隔几毫秒会给你相当不错的“实时”结果,但如果用户在网站上显示某些内容需要花费几秒钟,我就不会感到沮丧。这对我来说是“满满的”。