显然,您无法将数据推送到Web应用程序,因为HTTP在请求 - 响应循环中工作。
但是,您知道哪些黑客/方法可以模仿将数据推送给客户?
答案 0 :(得分:7)
你可以使用所谓的Comet: http://en.wikipedia.org/wiki/Comet_(programming),https://stackoverflow.com/search?q=comet
基本上,浏览器中的javascript立即向服务器发出请求(使用XmlHttpRequest)。服务器在有一些数据要服务之前不会响应。
来自文章:
浏览器发出服务器的异步请求,可能会在响应之前等待数据可用。响应可以包含由客户端执行的编码数据(通常是XML或JSON)或javascript。在响应处理结束时,浏览器创建并发送另一个XHR,以等待下一个事件。因此,浏览器始终保持服务器的未完成请求,以便在每个事件发生时得到解答。
答案 1 :(得分:1)
在某些情况下,轮询,即以常规(短)间隔发送请求可能就足够了。但是上面给出的答案 - 彗星 - 就没有客户请求发送数据而言,与实际交易最接近。
答案 2 :(得分:1)
您仅限于使用HTTP进行轮询。其中一个早期的Netscape浏览器确实实现了HTTP push我似乎记得,回到本世纪初,但它没有得到任何结论。
您不能将原始套接字与Flash,Javascript / Xml,Silverlight一起使用。使用Java和Active-X,您可以,但您需要一个证书。 Quake Live显示了这一点,所有网络显然仍然是基于UDP的,但在IE或Firefox的浏览器插件中。
所以轮询,投票,民意调查。