什么是XMPP,以及如何在iOS聊天应用程序中使用它?

我想为iPhone创build一个聊天客户端应用程序。 我读过XMPP框架是最好的使用之一。 不过,我还没有在这方面find太多的资料,只有Google Code上的XMPPFramework和一个wiki上的详细资料。

任何人都可以解释什么是XMPP,以及我们如何在我们的聊天应用程序中使用它? 是否有任何教程或代码片段,展示了它的用途?

XMPP是大多数IM客户端支持的用于消息传递和状态的开放协议。

如果您正在为需要与其他客户端交互的iOS构build聊天应用程序,请使用XMPP。 先阅读并理解协议,然后看看XMPPFramework Objective-C库,它应该都是有道理的。 尽pipe学习需要一些时间。

如果您的聊天应用程序只需要与您的应用程序的其他安装进行通信,那么您有几个更简单的选项:

您可以打开与服务器的持久tcp连接,并使用它来回传递状态和消息数据。 你可以实现一个简单的服务器来在node.js中完成这个工作,例如在一个相对较less的代码中。

更简单的select是,当你想要报告新的消息或iphone的状态变化,并通过推送消息传递更新时,调用一个简单的基于http的API。 推送消息是很好的,因为当应用程序closures时,您仍然可以传递消息,当应用程序打开时,可以智能地更新应用程序的界面。

这完全是关于你的要求。

V.您是否实施了XMPP?
我知道现在回答已经太迟了,但是现在我正在使用XMPP iOS应用程序,现在我们已经可以通过XMPP获得比较多的信息了,我觉得可以在这里写下来。

以下是可用于集成XMPP的最佳教程之一:

1.为iOS构build一个jabber客户端
2.适用于iOS的XMPP Messanger – GitHub

这是非常强大,真正即时通讯协议使用即时通讯(因为我们都知道锄头WhatsApp使用它)。

我们甚至可以为我们的IM应用程序集成OMEMOencryption。

最着名的XMPP iOS框架是XMPPFramework 。 它提供了RFC-3920(XMPP标准)的核心实现。 该框架是大规模并行和线程安全的。 由于GCD性能很好。 它带有多个受欢迎的扩展 (XEP)。

你可以find一个写得很好的Swift教程来在你的应用程序中实现XMPPFramework。 这是第一部分和第二部分

另类可以是:

  • DCXMPP,但自2014年以来一直没有维持。
  • Libstrophe是一个C库。 你可以在这里find一个iOS版本。 自2013年以来一直没有维持