cirandas.net

ref: master

public/javascripts/vendor/strophejs-1.1.3/examples/attach/README


This is an example of Strophe attaching to a pre-existing BOSH session
that is created externally.  This example requires a bit more than
HTML and JavaScript.  Specifically it contains a very simple Web
application written in Django which creates a BOSH session before
rendering the page.

Requirements:

* Django 1.0 (http://www.djangoproject.com)
* Twisted 8.1.x (http://twistedmatrix.com)
* Punjab 0.3 (http://code.stanziq.com/punjab)

Note that Twisted and Punjab are only used for small functions related
to JID and BOSH parsing.

How It Works:

The Django app contains one view which is tied to the root URL.  This
view uses the BOSHClient class to start a BOSH session using the
settings from settings.py.

Once the connection is established, Django passes the JID, SID, and
RID for the BOSH session into the template engine and renders the
page.

The template assigns the JID, SID, and RID to global vars like so:

    var BOSH_JID = {{ jid }};
    var BOSH_SID = {{ sid }};
    var BOSH_RID = {{ rid }};

The connection is attached to Strophe by calling
Strophe.Connection.attach() with this data and a connection callback
handler.

To show that the session is attached and works, a disco info ping is
done to jabber.org.