Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6105043
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 23, 20262026-05-23T13:54:44+00:00 2026-05-23T13:54:44+00:00

So I have been struggling with finding a decent C# library to use with

  • 0

So I have been struggling with finding a decent C# library to use with XMPP that supports either SSL or TSL encryption between the clients and the server. I am hoping that someone can recommend I library that meets some of my needs and is fairly well supported/documented. Also perhaps someone can confirm my suspicions about some of the libraries I’ve already tried.

My first attempt used Soapbox Studio SDK. Found here from Conversant, however from what I can tell they only support SASL authentication. I attempted to contact them but received no response and there forum appeared to be not working as I could not post my question on their forum. Perhaps I am wrong about my SSL assumption with Soapbox’s library, which would be great if someone could correct me because that is the library that I would prefer to use.

I next moved on to Matrix which is the successor to agXmpp. After several days trolling their message boards and going through their sample applications I cannot mange to even create a Group Chat on my openfire server. Almost all of the related questions posted on the ag Software formum direct people to use their sample applications to answer their questions. However, unless I am misunderstanding something, many of their sample applications appear to be out of date or not suitable for my needs. The following code is an example of my attempting to use their libraries to create a Group chat. If anyone has used their library perhaps they can point out what I am doing wrong.

These are my using directives

using System;
using Matrix.Xmpp.Disco;
using Matrix.Xmpp.Client;
using Matrix.Xmpp.Session;
using Matrix.Xmpp;
using Matrix;

Here is the code that connect to the Xmpp Client

readonly XmppClient _xmppClient = new XmppClient();

public string Connect() {
   try
   {
       _xmppClient.SetUsername(OPENFIRE_USER_NAME);
       _xmppClient.Password = OPENFIRE_PASSWORD;
       _xmppClient.SetXmppDomain(OPENFIRE_SERVER);

       _xmppClient.Show = Matrix.Xmpp.Show.chat;
       _xmppClient.AutoRoster = true;
       _xmppClient.Open();

                return "Connection Succesful";
    }
    catch (Exception ex)
    {
       _logger.LogError("SessionManager", "Connect", "Could not connect to Openfire                     Server", ex.ToString());
                        return "Could not Connect to Openfire Server";
    }
}

and this is the code that is suppose to create a new chatroom

public string CreateRoom(string roomName, string serverName, string userName)
{
    Jid groupJid = new Jid(userName, serverName, "gec2o");

    using (MucManager mucManager = new MucManager(_xmppClient))
    {
        mucManager.EnterRoom(groupJid, roomName, true);
        mucManager.RequestInstantRoom(groupJid);
    }

    return "";
}

However no chatroom is created on the server and no exception is thrown. Also I know that I am able to use their library to connect to my server because I can see the my login name appear in openfire’s list of users. While they have all their class documented in a file, the library offers little or no comments on what each class/method actually does and how it should be used. Again, there forum mostly tells people to look at sample code which is largely unhelpful and like soapbox this library does not appear to be that well supported (looks like one developer answering ever single question).

I briefly looked into other libraries such as jabber-net but that appeared to be the same story as Soapbox and Matrix in terms of support and documentation.

I also came across IP*Works Internet Toolkit but that library appears to be somewhat cost prohibitive.

I realize that I’ve made a good deal of assumptions throughout this question but I’ve been researching for several days now and this is the best conclusions I’ve been able to come to. I’m hoping someone can either correct my assumptions or recommend a library that does not exhibit these issue I’ve been facing.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-23T13:54:44+00:00Added an answer on May 23, 2026 at 1:54 pm

    So it looks as though all along that the answer to this question was that my original preferred library, (Soapbox Studio SDK) does in fact support TLS encryption and therefore was by best choice all along. It looks as though TLS is just not well documented and/or I missed this feature.

    Depending upon your server configuration ( I am using an Openfire Server ), you should be able to configure your server to only accept encrypted connections. Rather than using the SSL (which Openfire is the process of deprecated from its server ) and attempting to connect over the SSL port 5223, Simply connected over the default port (5222) and requiring an encrypted connection will force the client to send the data using TLS and automatically negotiate the handshake. Also the server can be configured to prevent clients from creating additional users. By controlling which clients are able to create XMPP users on your server rather than issuing SSL certificates you therefore essentially ensure secure communication throughout.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have been struggling with the best way to make sure that the certain
I have been struggling to think of some decent uses for things like vectors
I have been struggling with the unholy alliance that is WebSphere 7+ and Mojarra
I have been struggling with that for 4 days now. I have a very
Have been struggling with Javascript closure for a while trying to wrap brain around
I have been struggling with this question for awhile now, and I haven't reached
I have been struggling with this for quite some time having been accustomed to
I have been struggling to find an answer to this theoretical question, even tho
I have been struggling with this for months in my project. Here's the deal:
I have been struggling with this yesterday whole day, and still couldnt figure it

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.