Skip to content

dborkan/node-xmpp-client

This branch is 123 commits ahead of chris-rock/node-xmpp-client:master.

Folders and files

NameName
Last commit message
Last commit date
Jun 15, 2014
Jun 25, 2014
Jul 10, 2014
Jul 9, 2014
Jul 8, 2014
Jul 4, 2014
Mar 21, 2014
Jul 10, 2014
Dec 13, 2013
Jul 4, 2014
Apr 4, 2014
Jun 25, 2014
Jul 8, 2014

Repository files navigation

node-xmpp-client

Idiomatic XMPP client library for node.js

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

build status

Manual

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

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

About

XMPP Client interface for node-xmpp

Resources

License

Stars

Watchers

Forks

Packages

No packages published