I have to develop a simple XMPP server that will be included in a commercial project. I guess there isn't any server available that can be purchased with a royalty-free-license and that enables me to do the configuration and user management and the authentication from my own code.
The languages I can use are Delphi and C++. I've already looked at the libraries listed at xmpp.org, but most of them seem to be client-only libraries or (as e.g. QXmpp) requires Qt which I don't have any experience of and I consider it to be a pure GUI framework.
What would be a library I should take a closer look at? Does it make sense to familiarize myself with Qt for this purpose (writing an XMPP server; no GUI)?
Or is it better to just catch a stream parser (suggestions?) and code it myself?
The only library I could find for Delphi, IP*Works is a pure client library. I am evaluating QXmpp now.
For the Delphi part of my question: I didn't find a library I think that is suitable for building a server.
For the C++ part, I think this post Non GPL C/C++ XMPP client library for embedded Linux (though it is for embedded and client) is answering my questions:
and
So I think, QXmpp seems to be a good solution.
For other people searchig for this topic:
IMHO the documentation (especially for the server part) is a bit poor. The server example distributed with the qxmpp library is (of course) very basic: It is transporting chat messages. Distributing presence information, roster, subscription handling has to be implemented by you via extensions (inheriting QXmppServerExtension overwriting at least virtual function handleStanza). Don't parse the presence or iq stanzas in your own code. For the more common stanzas the libarary has classes implemented QXmppPresence, QXmppRosterIq etc.) that also can be used in your extension.