SMACK、TINDER和WHACK之间的区别

25

请问有人能告诉我smack、tinder和whack之间的区别吗?

tinder和whack是smack的精简版本吗?这三个库的用途不同吗?


9
起初我以为这是某种诗歌。 - Paul Dixon
3个回答

45

Smack是一个客户端库。您可以使用它来登录到XMPP域并利用其提供的功能。通常,Smack用于实现即时通讯客户端。

Tinder是一个低级别的XMPP库。它提供了基本XMPP实体(如Stanzas(在XMPP中称为'Packet')、JIDs和Components)的Java实现,这些实体通常实现XMPP服务器的某些功能。虽然从理论上讲,Tinder可以用于实现客户端功能,但目前主要用于服务器端。Whack和Openfire(一个XMPP服务器实现)均使用Tinder定义的实体。Smack完全不使用Tinder。

Whack是用于实现外部组件的Java库。Whack允许作为Tinder中定义的“Component”的独立进程运行。Whack允许您将此进程连接到XMPP域。这样,您可以扩展提供的域功能而不修改服务器软件的实现。


很棒的回答Guus - 为了额外的分数,你知道有哪些开源的Whack示例吗?我想为Openfire编写一个外部组件,但是想先看一些现有的代码。 - gav
gav,Whack源代码附带一个“天气”示例。它有点过时,但相当琐碎。 - Guus

3

如果你想创建一个应用程序:

Smack将是客户端库

Whack和/或Tinder将是服务器端库


3

我建议阅读这篇博客文章:

介绍 Tinder,一个 XMPP 对象实现库

Smack -> 跨平台的实时协作客户端,专为企业和组织优化

Whack -> Java XMPP 组件库

Tinder -> 基于 Java 的 XMPP 库,提供 XMPP stanza 和组件的实现

Tinder 建立在 Openfire 和 Whack 的代码基础上。它不会取代 Smack,但很可能会取代 Whack 和 OpenFire(以前叫 WildFire)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接