# node-xmpp-client
**Repository Path**: mirrors_jaredhanson/node-xmpp-client
## Basic Information
- **Project Name**: node-xmpp-client
- **Description**: XMPP client for JavaScript
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-09-25
- **Last Updated**: 2026-05-24
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# node-xmpp-client
XMPP client for JavaScript.
[](https://travis-ci.org/node-xmpp/node-xmpp-client/branches)
[](https://coveralls.io/r/node-xmpp/node-xmpp-client)
[](http://standardjs.com/)
## 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](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
* Node.js and browsers
* Client authentication with SASL
- DIGEST-MD5
- PLAIN
- ANONYMOUS
- EXTERNAL
- [X-OAUTH2](https://developers.google.com/talk/jep_extensions/oauth)
- ~~X-FACEBOOK-PLATFORM~~ ([removed](https://developers.facebook.com/docs/chat) by Facebook)
* Multiple transports
- TCP
- BOSH
- WebSocket
* `_xmpp-client._tcp` SRV record support
## Dependencies
* [node-xmpp-core](https://github.com/node-xmpp/ltx): `node-xmpp` core libraries
### 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')()`.