qt5中用于移动跨平台编程的xmpp客户端库
Posted
技术标签:
【中文标题】qt5中用于移动跨平台编程的xmpp客户端库【英文标题】:xmpp client library in qt5 for mobile cross platform programming 【发布时间】:2015-01-10 20:09:18 【问题描述】:谁能建议我一个QT5 跨移动平台库和XMPP 协议的API 来开发移动跨平台聊天客户端。这是我的大学项目。
我停了三个月,正在寻找合适的图书馆,现在还没有开始!!!。
我有一些时间来展示和发言。
我现在很失望。
只是一个基于 QT5 的 XMPP Liberary,用于移动编程(android、ios 等)
【问题讨论】:
你看过QXMPP吗?在这里:github.com/qxmpp-project/qxmpp 是的,它似乎是为 QT4 而不是 QT5 和 win32、win64、symbian、linux、macos 平台开发的。不是安卓和IOS。如果我弄错了,或者您知道某些可以为我工作的 QXMPP 版本,请告诉我。而且我不知道为什么我有这些反对票。 好像支持Qt 5和移动端。至少它支持 Android 和 ios 中的一些功能,而不是全部。您是否尝试在 Android 应用程序中使用它来查看它是否可以编译和工作? 非常感谢。我过去尝试过gloox,因为它是ansi C++,我认为它可以工作,但它不会。我将尝试使用 QXMPP 并希望能够工作,我会在这里写下结果。非常感谢您的回答,希望对您有更多帮助。 【参考方案1】:Swiften (http://swift.im/swiften/) 不是 Qt,而是带有 Boost 的普通旧 C++,用于 Swift 客户端,即 Qt。它是跨平台桌面、iOS、Android。不完全符合您的要求,但可以在那种环境中使用。
(偏见:我负责那些项目)
【讨论】:
谢谢@Kev。你说它只是在他们的平台环境中使用,而不是在 QT 等跨平台环境中,对于编程我们也必须开发平台特殊应用程序? Swiften 是跨平台的。它适用于(至少)Linux、Windows、Mac、Android、iOS。它可以与 Qt 一起使用。 对我来说似乎充满希望。你能引导我到一个如何开始的链接吗?从开始甚至如何将其包含在 QT 中都会有所帮助。 我找到了这个tutorial。我只需要知道如何将它包含在 QT 中来开发我的应用程序。我是一名 .net 程序员,这是我第一次尝试 QT 和此类库。 首先构建 Swiften,使用 Documentation/ 下的说明。然后执行 Swiften/Config/swiften-config.exe 列出链接到 libSwiften 库时所需的标志。【参考方案2】:QXmpp 非常适合 Qt 开发。
使用Qt时,与gloox或Swiften相比优势明显:
无需转换任何类型(如 QString 到 std::string) 没有来自不同库的不同信号(对于 Swiften:升压信号和 Qt 信号) 没有额外的依赖,只有 Qt,所以为所有平台创建构建更容易另一点可以是积极的(但在某些情况下也可能是消极的)是 QXmpp 的类大多是单片的。 这使得整个架构非常简单易用,但并不总是那么可扩展。但是,可以从库外部进行扩展。
QXmpp 使用 DOM 树来解析 XML 元素。序列化是使用 XML 流编写器完成的。
(就像 Kev 我在这里有偏见:我负责 QXmpp)
【讨论】:
以上是关于qt5中用于移动跨平台编程的xmpp客户端库的主要内容,如果未能解决你的问题,请参考以下文章
XMPP App Engine 服务不适用于移动 Gtalk 应用 [关闭]