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.
The trial versions are not limited in functionality, and they don’t expire.
Evaluate our products as long as you need to. With your personal license key you upgrade the trial version to a full registered version.
Silverlight demos
You can see MatriX for Silverlight in action here:
Silverlight 2.0 or higher is required to launch the applications.
Features:
- fully compatible with RFC 3920, 3921, 6120, 6121
- cross platform, designed for:
- Microsoft .NET Framework
- Microsoft .NET Compact Framework (Pocket PC, Smartphone, Windows CE)
- Silverlight
- Windows Phone
- Mono and Unity
- Mono for Android and MonoTouch
- 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)
- 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-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-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-0199 | XMPP Ping |
| XEP-0224 | Attention |
| XEP-0237 | Roster Versioning |
| XEP-0249 | Direct MUC Invitations |
| … and more … |
Due to restrictions of different .NET Runtimes and OS platforms the features listed here can vary in different MatriX editions.
