用C++或 Delphi 开发XMPP服务器的库

9wbgstp7  于 2023-05-12  发布在  其他
关注(0)|答案(1)|浏览(140)

我必须开发一个简单的XMPP服务器,它将包含在一个商业项目中。我想没有任何服务器可以用免版税许可证购买,这使我能够从自己的代码中进行配置和用户管理以及身份验证。
我可以使用的语言是DelphiC++。我已经查看了 * xmpp.org * 上列出的库,但它们中的大多数似乎都是客户端专用的库,或者(例如QXmpp)需要Qt,我没有任何经验,我认为它是一个纯粹的GUI框架。
我应该仔细看看哪个图书馆?为此目的熟悉Qt是否有意义(编写XMPP服务器;无GUI)?
还是只捕获流解析器更好(建议?)并自己编码?
我能找到的唯一 Delphi 库IP*Works是一个纯客户端库。我现在正在评估QXMPP。

ryevplcw

ryevplcw1#

关于我的问题的 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)。不要在自己的代码中解析presence或iq节。对于更常见的stanzas库有类实现QXmppPresence,QXmppRosterIq等),也可以在您的扩展中使用。

相关问题