如何以最快的速度从服务器获取小而频繁的更新?

| 我正在设计一个Web应用程序,该应用程序将使用AJAX与嵌入式设备上的服务器进行通信。但是对于一项功能,客户端将需要在很长的一段时间内获得非常频繁的更新(> 10每秒),并尽可能接近实时。同时,将不时处理典型的AJAX请求。 此项目独有的一些注意事项: 该数据将非常小,可能不超过单个数值。 一次只能有1个客户端连接到服务器,因此扩展不是问题。 客户端和服务器将位于同一本地网络上,因此连接将快速可靠。 该应用将为Android设备设计,因此我们可以利用任何特定于平台的浏览器功能。 后端很可能将在Apache或lighttpd上使用WSGI在Python中实现,但这仍需讨论。 我正在研究Comet技术,包括XHL长轮询和隐藏的iframe,但我对Web开发还很陌生,我不知道我们可以期待什么样的性能。服务器准备数据应该没有任何问题,这只是将数据尽快推送到客户端的问题。对于任何一种彗星技术,甚至常规的AJAX轮询,每秒10次更新都是不合理的期望吗?还是您建议其他方法? 我意识到这最终将需要一些原型,但是如果有人可以给我一个合理的估计,或者可以在这种情况下提供最佳性能的更好的特定技术(客户端和服务器端),那将是一个很大的帮助。     
已邀请:
您可能需要考虑使用WebSockets。这样,您就不必轮询,您将直接从服务器接收数据。由于它仍然是一项相当新的技术,我不确定目前可以使用哪些服务器实现,但是我发现了一篇有关Android上的WebSockets库的博客文章: http://anismiles.wordpress.com/2011/02/03/websocket-support-in-android%E2%80%99s-phonegap-apps/     
对于Python后端,您可能需要研究Twisted。我还建议使用WebSocket方法,但是如果失败了,并且由于您似乎只专注于浏览器客户端,那么我将默认使用HTTP流而不是轮询或长时间轮询。这个jQuery插件实现了一个HTTP流Ajax客户端,并声称专门支持Twisted。     
我不确定这是否会有所帮助,但您可能想尝试Comet样式的ajax http://ajaxian.com/archives/comet-a-new-approach-to-ajax-applications     

要回复问题请先登录注册