Noisy Pterodactyl Melodies

    node-xmppclient-bosh

    1.0.16 • Public • Published

    node-xmppclient-bosh

    This is a fork of the node-xmpp-client - idiomatic XMPP client library for node.js It includes fixes to the BOSH mode, tested with ejabberd Most of this readme is copied from the original, but there is a note on an API documentation error (see below).

    Now usable in browsers too thanks to Browserify. To create a bundle run grunt browserify.

    Manual

    This fork is API compatible with the original, so, except for the IMPORTANT note below, you should refer to the original manual at http://node-xmpp.github.io/doc/nodexmppclient.html.

    IMPORTANT NOTE

    There is an ERROR in the original manual (probably it's just outdated): The bosh url parameter in the options is not named boshURL. Instead, you should provide an object named 'bosh' with an 'url' property set to the BOSH url.

    Installation

    Note: We now only support nodejs versions 0.8.0 and greater.

    With package manager npm:

    npm install node-xmpp-client
    

    Testing

    Install the dev dependencies, then...

    npm test

    To run the tests and the code style checks then use:

    grunt test

    Also see the tests run in travis. The tests in travis run both the code and code style tests.

    How to use

    Please see the various examples.

    Features

    • Client authentication with SASL DIGEST-MD5, PLAIN, ANONYMOUS, X-FACEBOOK-PLATFORM
    • _xmpp-client._tcp SRV record support
    • Even runs in the Browser.

    Dependencies

    Optional

    Automatically building the optional library can be turned off by npm config set optional false or by setting the environmental variable export NPM_CONFIG_OPTIONAL=false. On Heroku this is done through heroku config:set NPM_CONFIG_OPTIONAL=false, for example.

    Building XML Elements

    Strophe.js' XML Builder is very convenient for producing XMPP stanzas. ltx includes it in a much more primitive way: the c(), cnode() and t() methods can be called on any Element object, returning the new child element.

    This can be confusing: in the end, you will hold the last-added child until you use up(), a getter for the parent. Connection.send() first invokes tree() to retrieve the uppermost parent, the XMPP stanza, before sending it out the wire.

    Browser Support

    node-xmpp-client now comes with a prebuilt browser bundle:

    <script src="/node_modules/node-xmpp/node-xmpp-browser.js"></script>
    <script type="text/javascript">
        var client = new XMPP.Client(opts);
    </script> 

    Keepalives

    Rather than send empty packets in order to keep any socket alive please try the following:

    this.client.connection.socket.setTimeout(0)
    this.client.connection.socket.setKeepAlive(true, 10000)
    

    Where this.client is the result of new require('node-xmpp-client')().

    Install

    npm i node-xmppclient-bosh

    DownloadsWeekly Downloads

    16

    Version

    1.0.16

    License

    MIT

    Last publish

    Collaborators

    • avasilev