This section provides a brief overview of the different namespaces and classes exposed by the S22.Xmpp assembly.

S22.Xmpp.Core

The S22.Xmpp.Core namespace contains basic client-side components that provide a general framework for exchanging structured information in the form of XML data elements between any two network endpoints and correlates closely to the Extensible Messaging and Presence Protocol (XMPP): Core specification (RFC 3920).

As such, the classes of the S22.Xmpp.Core namespace provide building blocks for creating custom communication protocols based on the core XMPP concepts of XML streams and XML stanzas.

S22.Xmpp.Im

The S22.Xmpp.Im namespace contains components that implement the basic instant messaging (IM) and presence functionality defined in the Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence specification (RFC 3921).

In other words, S22.Xmpp.Im provides a lean "bare bones" XMPP client that implements the minimum feature set that is expected from a conforming implementation. It can be used in situations where a full-scale implementation with support for various XMPP protocol extensions is not neccessary, and can also be used as a basis for creating XMPP clients that implement only a select set of extensions.

S22.Xmpp.Client

The S22.Xmpp.Client namespace contains components that built on-top the classes of the S22.Xmpp.Im and the S22.Xmpp.Core namespaces to implement a feature-rich XMPP client.