JSPM

  • Created
  • Published
  • Downloads 9112
  • Score
    100M100P100Q31517F
  • License MIT

XMPP client for JavaScript

Package Exports

  • node-xmpp-client
  • node-xmpp-client/lib/session

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (node-xmpp-client) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

node-xmpp-client

XMPP client for JavaScript.

build status Coverage Status js-standard-style

Manual

See http://node-xmpp.org/doc/client.html for instructions on how to use node-xmpp-client.

Installation

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

  • Node.js and browsers
  • Client authentication with SASL
    • DIGEST-MD5
    • PLAIN
    • ANONYMOUS
    • EXTERNAL
    • X-OAUTH2
    • X-FACEBOOK-PLATFORM (removed by Facebook)
  • Multiple transports
    • TCP
    • BOSH
    • WebSocket
  • _xmpp-client._tcp SRV record support

Dependencies

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-client/bundle.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')().