views:

58

answers:

1

A web application I'm helping to develop is faced with a well-known problem: we want to be able to let users know of various events and so forth that can occur at any time, essentially at random, and update their view accordingly. Essentially, we need to allow the server to push requests to individual clients, as opposed to the client asking the server.

I understand that WebSockets are an effort to address the problem; however, after a bit of looking around into them, I understand that a) very few web browsers currently offer native websocket support; b) to get around this, you either use flash sockets or some sort of AJAX long-polling; c) a special websockets server must be used.

Now, we want to offer our service without Flash. And any sort of servers must have some sort of load-balancing capabilities, or at least some software that can do load balancing for them.

As of 2008, everyone was saying that Comet-based solutions (e.g., Bayeux) were the way to go for these sort of situations. However, the various protocols seem to have not had much work put into them since then—which leads (finally) to the question.

Is Bayeux-flavored Comet still the right tool for jobs like this? If not, what is?

+1  A: 

An alternative to Comet/Bayeux that has proven to be working is the combination of an XMPP server such ejabberd or OpenFire and StropheJS developed by Jack Moffitt (his website is http://metajack.im/). The limitation of XMPP is it can only transports text and not binary payload.

Khnle