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

问题描述 投票:1回答:2

没有人知道一个适用于ARM机器中嵌入式Linux的良好的非GPL C / C ++ XMPP客户端库吗?

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

c++ c xmpp
2个回答
1
投票

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

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

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

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

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

建议:关于C ++,没有很多好的xmpp库。我认为发生这种情况的原因如下(个人意见):

  1. many protocol extensions
  2. 制作xmpp库时很容易分心。 Xmpp包含大量可能的错误,并且具有OOP意识的程序员会非常想为所有内容创建一个类,这种情况在这种情况下效果不佳,并且需要Qt 4之类的东西才能使其正常工作。
  3. XMPP需要XML解析器。

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


1
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.