我听说我可以使用Comet作为服务器推送技术,同时使用我的Ajax代码来提高我的web应用程序的性能。
这种Comet技术有多成熟?
是否所有的web服务器、编程语言和浏览器都支持它?
使用Comet的缺点是什么?
发布于 2009-03-08 05:37:12
它是成熟的,尽管我认为你应该更多地考虑它是一种技术而不是一种技术。
据我所知,所有的web服务器都支持它,但如果您正在构建comet应用程序,则需要研究和配置特定的web服务器,因为对资源的要求略有不同。具体地说,到您的服务器的同时打开的连接将会多得多。在编程语言支持方面,如果您选择的服务器语言具有任何类型的阻塞或等待机制,则可以支持服务器推送。所有的浏览器都支持它,从浏览器的角度来看,这只是一个简单的http(s)连接,需要很长时间才能返回。
在浏览器世界中有几个缺点,最大的缺点可能是一些浏览器将打开的特定URL的连接数限制为两个。因此,如果您有一个服务器阻塞打开的连接,等待一些推送的数据,那么您只剩下一个可供浏览器从服务器获取数据的连接。这可以通过将您的资源分散到几个二级域以允许浏览器打开更多连接来缓解。
发布于 2009-07-27 21:36:40
“所有web服务器都支持”这句话有点奇怪。大多数实现本身都是一个服务器,您需要找到一个与您想要使用的语言集成的服务器。
也就是说,我在一家公司工作,该公司构建了一个与服务器集成的服务器,特别是IIS。
如果你不想麻烦地处理服务器集成(处理不同的语言,处理缩放等),请查看websync -该服务允许您轻松集成任何语言,因为它是托管的,但通过您自己的服务器支持proxying请求,因此您可以添加自己的业务逻辑、日志记录、权限等。
发布于 2009-02-07 11:38:53
在所有关于AJAX的炒作开始之前,Comet实际上就已经在使用了:它只是一个旧想法的新名称。人们已经使用隐藏的iframe来模拟服务器推送很长一段时间了,没有问题。
https://stackoverflow.com/questions/523546
复制相似问题