views:

15974

answers:

6
+32  Q: 

Comet and jQuery

I've done some research into server push with javascript and have found the general consensus to be that what I'm looking for lies in the "Comet" design pattern. Are there any good implementations of this pattern built on top of jQuery? If not, are there any good implementations of this pattern at all? And regardless of the answer to those questions, is there any documentation on this pattern from an implementation stand-point?

+5  A: 

A description of the pattern: http://ajaxpatterns.org/HTTP_Streaming

Jonathan Tran
+8  A: 

Someone built a client for Comet using jQuery. I don't know if it's any good though. I've read about Comet and heard about all the good it can do, but I have never gotten around to using it. Just had no time and no use case on any of my current projects.

I totally forgot to add a link as for implementing comet.

There is Comet Daily and they have a comparison online. The comparison emphasizes on maturity of the different implementation. It's pretty interesting and should get you started.

Hope that helps!

Till
+37  A: 

I wrote the plugin mentioned by Till. The plugin is an implementation of the Bayeux protocol and currently supports long-polling (local server via AJAX) and callback-polling (remote server via XSS). There is a Bayeux implementation for Python called cometd-twisted that I have heard my plugin works with, but I have not verified this. I have tested and verified it works with cometd-jetty and erlycomet which has a jQuery Comet example included. There is more info on my blog and the current code with a basic chat example can be found on its google code page. Hope this info is helpful and feel free to contact me if need any further help with the plugin.

Morgan ARR Allen
Nice work on the plugin, works great for me.
camflan
+3  A: 

Comet is a great solution, and there are all kinds of implementations. Which one depends on your needs.

We've implemented a solution for IIS/ASP.NET, WebSync. It includes the javascript client, which plays nicely with jQuery. Technically, since it's the Bayeux protocol, any Bayeux client should work just dandy. The same protocol can also be found in the dojo library.

For more detail, you can see the spec for the Bayeux protocol.

jvenema
+4  A: 

Check out the Ape Project for a complete client and server side solution that implements the comet pattern.

Devon
+2  A: 

I have a very simple example here that can get you started with comet. It covers compiling Nginx with the NHPM module and includes code for simple publisher/subscriber roles in jQuery, PHP, and Bash.

http://blog.jamieisaacs.com/archives/404

Jamie