S22.Xmpp is an easy-to-use and well-documented .NET assembly for communicating with an XMPP server. It supports basic Instant Messaging and Presence funtionality as well as a variety of XMPP extensions.
C#
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Client
Core Option for forcing in-band bytestreams Dec 27, 2013
Extensions
Im Option for forcing in-band bytestreams Dec 27, 2013
Properties
.gitattributes
.gitignore
ErrorCondition.cs Initial Commit Dec 26, 2013
ErrorType.cs
Jid.cs
License.md
Readme.md
S22.Xmpp.csproj
S22.Xmpp.sln Initial Commit Dec 26, 2013
Util.cs
Xml.cs
XmppError.cs Initial Commit Dec 26, 2013
XmppErrorException.cs
XmppExceptions.cs

Readme.md

Introduction

This repository contains an easy-to-use and well-documented .NET assembly for communicating with an XMPP server. It supports basic Instant Messaging and Presence funtionality as well as a variety of XMPP extensions.

Supported XMPP Features

The library fully implements the XMPP Core and XMPP IM specifications and thusly provides the basic XMPP instant messaging (IM) and presence functionality. In addition, the library offers support for most of the optional procotol extensions. More specifically, the following features are supported:

  • SASL Authentication (PLAIN, DIGEST-MD5, and SCRAM-SHA-1)
  • User Avatars
  • SOCKS5 and In-Band File-Transfer
  • In-Band Registration
  • User Mood
  • User Tune
  • User Activity
  • Simplified Blocking
  • API designed to be very easy to use
  • Well documented with lots of example code
  • Free to use in commercial and personal projects (MIT License)

Where to get it

You can always get the latest binary package on Nuget or download the binaries as a .zip archive from GitHub. The documentation is also available for offline viewing as HTML or CHM and can be downloaded from here and here, respectively.

Usage & Examples

To use the library add the S22.Xmpp.dll assembly to your project references in Visual Studio. Here's a simple example that initializes a new instance of the XmppClient class and connects to an XMPP server:

using System;
using S22.Xmpp;
using S22.Xmpp.Client;

namespace Test {
	class Program {
		static void Main(string[] args) {
			/* connect on port 5222 using TLS/SSL if available */
			using (var client = new XmppClient("jabber.se", "username", "password"))
			{
				Console.WriteLine("Connected as " + client.Jid);
			}
		}
	}
}

Please see the documentation for a getting started guide, examples and details on using the classes and methods exposed by the S22.Xmpp assembly.

Credits

This library is copyright © 2013-2014 Torben Könke.

License

This library is released under the MIT license.

Bug reports

Please send your bug reports to smileytwentytwo@gmail.com or create a new issue on the GitHub project homepage.