XmppDotNet is the successor of the MatriX SDK.
We strongly recommend to use XmppDotNet for all new development.
Go to the XmppDotNet website or the GitHub page of XmppDotNet.
MatriX is a SDK / library for the eXtensible Messaging and Presence Protocol (XMPP, also known as Jabber) written in managed C# dedicated to .NET and Silverlight technologies.
MatriX is available for the full .NET Framework, .NET Compact Framework and Silverlight. This allows you to reuse all your existing code on all major .NET platforms.
Here is a small example how easy you can login to a XMPP server and send a simple chat-message to another user in only 3 lines of code:
// basic send message example var xmppClient = new XmppClient {XmppDomain = "jabber.org", Username = "user1", Password = "secret"}; xmppClient.OnRosterEnd += delegate {xmppClient.Send(new Message {To = "user2@jabber.org", Type = MessageType.chat, Body = "Hello World"});}; xmppClient.Open();
Trial version
- Download a full functional trial versions of Matrix here.
- Request a trial license online here.
Features:
- fully compatible with RFC 3920, 3921, 6120, 6121
- cross platform
- Multi OS (Windows, Linux, Mac…)
- for client, server and web applications
- fast and lightweight
- easy to use
XMPP Features:
- Encryption (TLS)
- SASL
- PLAIN
- DIGEST-MD5
- NTLM
- GSSAPI
- EXTERNAL
- SCRAM-SHA1
- Google X-Token
- X-FACEBOOK-PLATFORM
- X-MESSENGER-OAUTH2 (Microsoft OAuth)
- X-OAUTH2 (Google OAuth2)
- CISCO-VTG-TOKEN
- Roster
- Presence
- Message
- Single Sign On (SSO, NTLM, GSSAPI, Kerberos)
Supported XMPP extensions
XEP number | protocol name |
---|---|
XEP-0004 | Data Forms |
XEP-0009 | Jabber-RPC (XML-RPC) |
XEP-0012 | Last Activity |
XEP-0030 | Service Discovery |
XEP-0033 | Extended Stanza Addressing |
XEP-0045 | Multi-User Chat |
XEP-0047 | In-Band Bytestreams |
XEP-0048 | Bookmarks |
XEP-0049 | Private XML Storage |
XEP-0052 | File Transfer |
XEP-0054 | vcard-temp |
XEP-0055 | Jabber Search |
XEP-0059 | Result Set Management |
XEP-0060 | Publish Subscribe |
XEP-0066 | Out of Band Data |
XEP-0071 | XHTML-IM (formatted messages) |
XEP-0078 | Non-SASL Authentication |
XEP-0079 | Advanced Message Processing |
XEP-0080 | User Location |
XEP-0085 | Chat State Notifications |
XEP-0092 | Software Version |
XEP-0096 | SI File Transfer |
XEP-0100 | Gateway Interaction |
XEP-0107 | User Mood |
XEP-0114 | Jabber Component Protocol |
XEP-0115 | Entity Capabilities |
XEP-0118 | User Tune |
XEP-0124 | BOSH |
XEP-0136 | Message Archiving |
XEP-0138 | Stream Compression |
XEP-0144 | Roster Item Exchange |
XEP-0166 | Jingle |
XEP-0167 | Jingle RTP Sessions |
XEP-0172 | User Nickname |
XEP-0176 | Jingle ICE-UDP Transport Method |
XEP-0177 | Jingle Raw UDP Transport Method |
XEP-0184 | Message Delivery Receipts |
XEP-0191 | Blocking Command |
XEP-0198 | Stream Management |
XEP-0199 | XMPP Ping |
XEP-0224 | Attention |
XEP-0237 | Roster Versioning |
XEP-0249 | Direct MUC Invitations |
XEP-0258 | Security Labels |
XEP-0280 | Message Carbons |
… and more … |
Due to restrictions of different .NET Runtimes and OS platforms the features listed here can vary in different MatriX editions.