# 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`. [![build status](https://secure.travis-ci.org/node-xmpp/node-xmpp-client.svg?branch=master)](http://travis-ci.org/node-xmpp/node-xmpp-client) [![Coverage Status](https://img.shields.io/coveralls/node-xmpp/node-xmpp-client.svg)](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')()`.