XMPP library for node.js
JavaScript
Switch branches/tags
Nothing to show
Pull request Compare This branch is 2125 commits behind xmppjs:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
examples
lib
LICENSE
README.markdown
package.json

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