我必须开发一个将包含在商业项目中的简单XMPP服务器。我想没有可以使用免版税许可证购买的服务器,这使我能够从我自己的代码进行配置和用户管理以及身份验证。
我可以使用的语言是Delphi和C ++。 我已经查看了xmpp.org上列出的库,但是大多数库似乎只是客户端库或(例如QXmpp)需要QT,我没有经验,并认为它是纯GUI框架。< / p>
有人可以推荐一个我应该仔细看看的图书馆吗?为此目的熟悉QT是否有意义(编写xmpp服务器;没有GUI)?
或者最好只捕获一个流解析器(建议?)并自己编写代码?
谢谢!
编辑:我能找到的唯一一个Delphi库,IP * Works是一个纯客户端库。我现在正在评估QXmpp。
答案 0 :(得分:0)
对于我的问题的Delphi部分:我没有找到适合构建服务器的库。
对于C ++部分,我认为这篇文章Non GPL C/C++ XMPP client library for embedded Linux(虽然它适用于嵌入式和客户端)正在回答我的问题:
因为Qt提供XML解析器和信号/插槽框架。 XMPP需要XML解析器,信号/插槽框架使您的生活更轻松。如果你尝试用OOP方式实现所有扩展的整个XMPP,你需要类似于Qt的东西。
和
建议:当谈到C ++时,没有很多好的xmpp库可用。
所以我认为,QXmpp似乎是一个很好的解决方案。
对于其他人搜索此主题:
恕我直言,文档(特别是服务器部分)有点差。与qxmpp库一起分发的服务器示例(当然)非常基本:它正在传输聊天消息。您必须通过扩展(继承QXmppServerExtension至少覆盖虚函数handleStanza)来实现分发状态信息,名册,订阅处理。不要在您自己的代码中解析状态或iq节。对于更常见的节,图书馆已经实现了QXmppPresence,QXmppRosterIq等类,也可以在您的扩展中使用。