Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
<xml for="node.js
JavaScript

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
examples
lib
LICENSE
README.markdown

README.markdown

node-xmpp

idiomatic XMPP library for node.js

Motivation

You like Strophe.js? You bought a copy of Professional XMPP Programming with JavaScript and jQuery? You even want to use the same XMPP code for the web and node.js? Then you're wrong here: go to xmppjs.

Objectives of node-xmpp:

  • Use node.js conventions, especially EventEmitter, ie. for write buffer control
  • Fast parsing, node-expat was written with this library in mind
  • Support for both XMPP clients and components
  • After authentication, leave trivial protocol bits to the user (later we could offer helpers for entity capabilities hashing, etc)

Features

  • Client authentication with SASL DIGEST-MD5, PLAIN, ANONYMOUS
  • _xmpp-client._tcp SRV record support
  • Simple JID parsing
  • XML builder & serialization, xmlns-aware
  • Component connections

Dependencies

Design

      ┌────────────┐
      │ net.Stream │
      └─────┬──────┘
            │
      ┌─────┴──────┐
      │ Connection │
      └─────┬──────┘
            │
      ┌─────┴──────┐
      │            │
┏━━━━━┷━━━━┓ ┏━━━━━┷━━━━━┓
┃  Client  ┃ ┃ Component ┃
┗━━━━━━━━━━┛ ┗━━━━━━━━━━━┛

That means you can use the TCP events of net.Stream with Client and Component objects.

Desires about the API? Propose them ASAP!

TODO

Something went wrong with that request. Please try again.