2008-09-25 131 views
111

我已经做了一些关于服务器推送与JavaScript的研究,并发现一般共识是,我正在寻找的谎言在“彗星”设计模式。这个模式在jQuery之上有什么好的实现?如果不是,这个模式有没有好的实现?不管这些问题的答案如何,从实施的角度来看,这种模式是否有任何文档?彗星和jQuery

回答

77

我写了Till提到的插件。该插件是Bayeux协议的实现,目前支持长轮询(通过AJAX的本地服务器)和回调轮询(通过XSS的远程服务器)。 Python中有一个名为cometd-twisted的Bayeux实现,我听说过我的插件可以使用,但是我没有验证这一点。我已经测试并验证它可以与cometd-jettyerlycomet一起使用,其中包含jQuery Comet示例。我的blog上有更多信息,当前的代码和基本聊天示例可以在其google code page上找到。希望这个信息是有用的,随时与我联系,如果需要任何进一步的帮助与插件。

+1

不错的插件工作,对我很好。 – camflan 2008-09-26 19:14:37

15

有人建a client for Comet using jQuery。我不知道这是否有益。我读过关于彗星的故事,听说它可以做的所有事情,但我从来没有想过使用它。我目前的任何项目都没有时间和用例。

我完全忘了添加一个链接作为实施彗星。

有彗星日报,他们有一个comparison在线。比较强调不同实现的成熟度。这很有趣,应该让你开始。

希望有帮助!

3

彗星是一个很好的解决方案,并且有各种各样的实现。哪一个取决于你的需求。

我们已经实施了IIS/ASP.NET的解决方案WebSync。它包括JavaScript客户端,它与jQuery很好地搭配。从技术上讲,因为它是Bayeux协议,所以任何Bayeux客户端都应该工作得很好。同样的协议也可以在dojo库中找到。

有关更多详细信息,请参见the Bayeux protocol的规格。

9

查看Ape Project获取实现彗星模式的完整客户端和服务器端解决方案。

2

如果你正在使用JQuery,我建议jQuery的流。我目前正在项目中使用jquery-stream,并且迄今为止它已经可靠,记录完善并且有一个有效的Google代码项目。

http://code.google.com/p/jquery-stream/