XMPP client written in nodejs
npm install node-xmpp-client-tmpIdiomatic XMPP client library for node.js
Now usable in browsers too thanks to Browserify.

__Note:__ We now only support nodejs versions 0.8.0 and greater.
With package manager npm:
npm install node-xmpp-client
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.
Please see the various examples.
* Client authentication with SASL DIGEST-MD5, PLAIN, ANONYMOUS, X-FACEBOOK-PLATFORM
* _xmpp-client._tcp SRV record support
* Even runs in the Browser.
* node-xmpp-core: node-xmpp core libraries
Optional
* node-stringprep: for icu-based string normalization.
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.
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()tree()
first invokes to retrieve the uppermost parent, the XMPP
stanza, before sending it out the wire.
node-xmpp-client now comes with a prebuilt browser bundle:
`html`
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')().
(Builing up documentation slowly)
`
var Client = require('node-xmpp-client')
var client = new Client({
jid: 'user@example.com',
password: 'password'
})
client.on('online', function() {
console.log('online')
})
client.on('stanza'), function(stanza) {
console.log('Incoming stanza: ', stanza.toString())
})
`
```
client.end()