# node-xmpp-client
**Repository Path**: mirrors_FGRibreau/node-xmpp-client
## Basic Information
- **Project Name**: node-xmpp-client
- **Description**: XMPP Client interface for node-xmpp
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-09-24
- **Last Updated**: 2026-07-04
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# node-xmpp-client
Idiomatic XMPP client library for [node.js](http://nodejs.org/)
Now usable in browsers too thanks to [Browserify](https://github.com/substack/node-browserify). To create a bundle run `grunt browserify`.
[](http://travis-ci.org/node-xmpp/node-xmpp-client)
[](https://coveralls.io/r/node-xmpp/node-xmpp-client)
## Manual
See http://node-xmpp.org/doc/client.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](http://npmjs.org/):
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](http://travis-ci.org/node-xmpp/node-xmpp-client). The tests in travis run both the code and code style tests.
## How to use
Please see the various [examples](https://github.com/node-xmpp/node-xmpp-client/tree/master/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
* [node-xmpp-core](https://github.com/node-xmpp/ltx): `node-xmpp` core libraries
Optional
* [node-stringprep](http://github.com/node-xmpp/node-stringprep): for [icu](http://icu-project.org/)-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.
### 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:
```html
```
# 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')()`.