2

我必须开发一个简单的 XMPP 服务器,该服务器将包含在商业项目中。我想没有可用的服务器可以通过免版税许可购买,这使我能够通过自己的代码进行配置和用户管理以及身份验证。

我可以使用的语言是 Delphi 和 C++。我已经查看了 xmpp.org 上列出的库,但它们中的大多数似乎是仅限客户端的库,或者(例如 QXmpp)需要我没有经验的 QT,并认为它是一个纯 GUI 框架。

有人可以建议我应该仔细看看的图书馆吗?为此目的(编写 xmpp 服务器;无 GUI)熟悉 QT 是否有意义?

还是只捕获一个流解析器(建议?)并自己编码更好?

谢谢!

编辑:我可以为 Delphi 找到的唯一库 IP*Works 是一个纯客户端库。我现在正在评估 QXmpp。

4

1 回答 1

1

对于我的问题的德尔福部分:我没有找到我认为适合构建服务器的库。

对于 C++ 部分,我认为这篇用于嵌入式 Linux 的非 GPL C/C++ XMPP 客户端库(尽管它适用于嵌入式和客户端)正在回答我的问题:

因为 Qt 提供了 XML 解析器和信号/槽框架。XMPP 需要 XML 解析器,而信号/槽框架让您的生活更轻松。如果您尝试以 OOP 方式实现带有所有扩展的整个 XMPP,您将需要类似于 Qt 的东西。

建议:对于 C++,没有很多好的 xmpp 库可用。

所以我认为,QXmpp 似乎是一个很好的解决方案。

对于搜索此主题的其他人:

恕我直言,文档(尤其是服务器部分)有点差。与 qxmpp 库一起分发的服务器示例(当然)非常基本:它正在传输聊天消息。分发存在信息、花名册、订阅处理必须由您通过扩展来实现(继承 QXmppServerExtension 至少覆盖虚拟函数 handleStanza)。不要在您自己的代码中解析存在或 iq 节。对于更常见的节,库具有实现 QXmppPresence、QXmppRosterIq 等的类,这些类也可以在您的扩展中使用。

于 2013-12-10T09:57:30.967 回答