Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>There are multiple solutions (none of them are perfect)</p> <h1>1. Use Kaazing.</h1> <p>They already support it. It's open source, but they have some sort of <a href="http://www.kaazing.org/confluence/display/KAAZING/License" rel="nofollow noreferrer">dual license</a>, so better to check whether you can use for your project or not.</p> <ul> <li><a href="http://www.kaazing.org/confluence/display/Doc/XMPP+JavaScript+How-To" rel="nofollow noreferrer">XMPP JavaScript How-To</a></li> </ul> <h1>2. Combine js.io and APE(Ajax Push Engine)</h1> <p>APE is a Comet framework, but they recently started supporting Websockets. At their website("APE as proxy" section), they say it can run js.io libraries which includes xmpp.js, so combining them may work.</p> <ul> <li><a href="http://www.ape-project.org/wiki/index.php/How_to_write_an_application_with_APE" rel="nofollow noreferrer">How to write an application with APE</a></li> </ul> <h1>3. Use Caucho</h1> <p>It is a java based framework similar to APE which provides one stop shop Comet solution, and they seem to support both XMPP and WebSockets</p> <ul> <li><a href="http://java.dzone.com/announcements/caucho-releases-resin-320" rel="nofollow noreferrer">Caucho Resin</a></li> <li><a href="http://www.caucho.com/resin/examples/websocket-java/index.xtp" rel="nofollow noreferrer">Caucho Websocket example with Resin</a></li> </ul> <h1>4. Ask Strophe team to support WebSocket.</h1> <p>Strophe does XMPP over BOSH(Bidirectional-streams Over Synchronous HTTP), but there is <a href="http://groups.google.com/group/strophe-dev/browse_thread/thread/c6b555ac5f84fc5f/30ba98ee90769d16" rel="nofollow noreferrer">a discussion about supporting WebSockets</a>, too.</p> <p>Jack Moffitt (the core developer and the author of the book mentioned above) seems interested in WebSockets, but we need to provide more strong reasoning about why they need to support WebSocket over BOSH. If you have good answers, please join the tread.</p> <p>I just tried their <a href="http://gist.github.com/272956" rel="nofollow noreferrer">xmpp,bosh,strophe echobot example</a>, which worked nicely. You might also want to try it to see if it fits your requirement or not.</p> <p>For #2 and #3, they say that they both support xmpp and websockets, but not sure if they work together.</p> <p>What kind of application you are thinking about using XMPP &amp; WebSockets for? </p> <p>The below are suggestions for alternatives.</p> <ul> <li>If you want the presence, chat, chat room equivalent functionality, you could make Wave Gadget or Robot, then expose to outside using <a href="http://code.google.com/apis/wave/guide.html" rel="nofollow noreferrer">Wave Embed API</a>(dead link, kept for historic purposes). Wave is actually built on top of XMPP.</li> <li>If you are simply looking for very low latency messaging capability, you could <a href="http://blog.0x82.com/2009/12/28/twitter-amqp-websocket-example-no-polling" rel="nofollow noreferrer">try AMQP</a>.</li> <li>If you are looking for much simpler message streaming, you can just <a href="http://blog.new-bamboo.co.uk/2009/12/14/pushing-the-boundary-of-real-time-web-with-twitter-and-xfactor" rel="nofollow noreferrer">pipe in/out unix file as I demonstrated here</a>.</li> </ul> <p>I got most of the information above when I wrote <a href="http://blog.new-bamboo.co.uk/2009/12/30/brain-dump-of-real-time-web-rtw-and-websocket" rel="nofollow noreferrer">this blog post</a>. If you check the comment section time to time, I will post update once I find other solutions.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload