2009-06-30 88 views
2

我读到的XMLHttpRequest最适合的是具有30秒以上的更新频率内容。同一篇文章提到需要更快频率的Web应用程序应该使用套接字。我无法找到提及此的文章/书籍(如果任何人可以张贴链接到讨论此文章的链接,我将不胜感激)。您对XMLHttpRequest和套接字的使用经验是否支持上述声明?应该考虑浏览器和服务器之间还有哪些其他类型的连接?XMLHttpRequest的VS插座VS一些其他方法

回答

3

JavaScript没有办法做到真正的socket通信。如果您仅限于Javascript(没有SWF帮助程序,ActiveX或其他技术),那么XMLHttpRequest是您最好的选择。

XMLHttpRequest是不适合于更频繁的更新(从理论上讲,至少),因为涉及解析和形成请求和解析结果的开销。从理论上讲,一个Socket连接会给你一个管道回到服务器,而不需要经历所有的请求生成。

使用套接字(除了Javascript不直接支持它们)的缺点是,如果您通过Socket连接返回的数据使用自定义序列化格式,则只有您编写的代码可以使用结果(除非你公开你的序列化格式)。这可能不是你的问题,但对一些人来说是一个搅局者...

这里的套接字在Javascript有点演示中的SWF助手:

SocketJS

2

还有更多的答案比更新频率。并发用户的数量也很重要,因为使用Comet(这是将导致你更多的文章关键字)使用了服务器连接和可能的扩展性。现代Web服务器在处理更多连接方面更好,但您需要在自己的环境中进行测试。

对于我来说,甚至30秒过于频繁使用AJAX。我的限制大概在一分钟左右。

-1

这篇文章现在应该被视为过时了。现代浏览器无需处理请求,只需1秒钟。看看谷歌能够多快地猜测你的搜索。一个简单的XMLHttpRequest调用。没有闪光灯。没有ActiveX。