1

有谁知道适用于 ARM 机器中的嵌入式 Linux 的非 GPL C/C++ XMPP 客户端库?

我已经检查了 txmpp,但最后一次更新似乎是 2 年前。qxmpp 似乎需要 Qt,我不确定嵌入式 Linux 是否支持它。此外,AFAIK Qt 用于 GUI,所以我不确定为什么库需要它。我还检查了 gloox,但它是 GPL 并且似乎也有一年多的历史了。

4

2 回答 2

1

我有同样的问题,所以我自己滚动。在 BOOST 许可下发布;http://deusexmachinae.se/dxmpp

它仅支持核心功能 + 正确的身份验证(包括 TLS 和 SCRAM-SHA-1)。

于 2014-10-28T14:00:14.693 回答
1

用于嵌入式 Linux 的非 GPL C/C++ XMPP 客户端库

libstrophe - 在 Mit/GPLv3 下获得双重许可。但是,我不确定它是否会在 ARM 上编译,尽管它应该是相当可移植的。

所以我不确定为什么图书馆需要它。

因为 Qt 提供了 XML 解析器和信号/槽框架。XMPP 需要 XML 解析器,而信号/槽框架让您的生活更轻松。如果您尝试以 OOP 方式实现带有所有扩展的整个 XMPP,您将需要类似于 Qt 的东西。如果您只需要发送一两个命令,那么裸机解决方案就可以了。

libstrophe 是赤裸裸的骨头。您不会获得数十个代表不同 xmpp 概念(和大量扩展)的包装器,但您将能够发送您需要/想要的命令。当然,您必须阅读 XMPP 规范。

建议:对于 C++,没有很多好的 xmpp 库可用。我认为它的发生原因如下(个人观点):

  1. 协议扩展太多
  2. 制作 xmpp 库时很容易分心。Xmpp 包含相当多的可能错误,并且具有 OOP 头脑的程序员会非常想为所有内容创建一个类,这在这种情况下不能很好地工作,并且需要像 Qt 4 这样的东西才能使其正常工作。
  3. XMPP 需要 XML 解析器。

因此,尝试 python 可能是有意义的——如果您的嵌入式平台可以处理它。对于 python,有xmpppy。尽管我非常不喜欢 python,但我认为使用 xmpppy 在 python 中使用 XMPP 比使用 libstrophe 在 C++ 中更容易。这是因为 xmpp 需要大量的键值对列表,而 python 使用字典以更“自然”的方式表示这些结构。

于 2012-11-23T03:24:11.750 回答