【问题标题】:xmpp client library in qt5 for mobile cross platform programmingqt5中用于移动跨平台编程的xmpp客户端库
【发布时间】: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 并希望能够工作,我会在这里写下结果。非常感谢您的回答,希望对您有更多帮助。

标签: qt mobile client xmpp qt5


【解决方案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)

【讨论】:

    猜你喜欢
    • 2010-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-12
    相关资源
    最近更新 更多