我想为iPhone创建一个聊天客户端应用程序。我已经读过XMPP框架是最适合这种情况的框架之一。但是,我没有找到很多关于此的内容,只有Google代码上的XMPPFramework以及维基上的详细信息。
有人可以解释一下XMPP是什么以及我们如何在聊天应用程序中使用它?是否有任何教程或代码片段可以证明其用途?
答案 0 :(得分:9)
XMPP是大多数IM客户端支持的消息传递和状态的开放协议。
如果您正在构建需要与其他客户端进行交互的iOS聊天应用,请使用XMPP。首先阅读并理解协议,然后查看XMPPFramework Objective-C lib,它应该都有意义。但是,这需要一些时间来学习。
如果您的聊天应用只需要与您应用的其他安装进行通信,那么您有一些更简单的选择:
您可以打开与服务器的持久tcp连接,并使用它来来回传递状态和消息数据。您可以在node.js中实现一个简单的服务器,例如,在相对少量的代码中。
更简单的选择是,当您想要从iphone报告新消息或状态更改并通过推送消息提供更新时,调用简单的基于http的api。推送消息很好,因为当应用程序关闭时,您仍然可以传递消息,当应用程序打开时,您可以智能地更新应用程序的界面。
这完全取决于您的要求。
答案 1 :(得分:2)
诉你有没有实施XMPP? 我知道现在回答为时已晚,但是现在我正在研究XMPP iOS应用程序,现在我们在XMPP上获得了相对较多的信息,我想在这里写一下。
以下是可用于集成XMPP的最佳教程之一:
1. Building a jabber client for iOS
2. XMPP Messanger for iOS - GitHub
这是非常强大且真正即时的协议用于IM(因为我们都知道锄头WhatsApp正在使用它)。
我们甚至可以为我们的IM应用程序集成OMEMO加密。
答案 2 :(得分:1)
最着名的XMPP iOS框架是XMPPFramework。 它提供了RFC-3920(XMPP标准)的核心实现。该框架是大规模并行和线程安全的。由于GCD,性能很好。它带有多个popular extensions(XEP' s)。
您可以在应用程序中找到一个编写得非常好的Swift教程来实现XMPPFramework。这是first part和second part
替代方案可以是: