如何使inApp“聊天”

时间:2013-05-16 15:31:21

标签: ios

我正在制作应用,用户必须可以选择向其他用户发送消息。

基于此,我怀疑它是如何工作的,最初我认为它适用于推送通知,但研究这个,似乎没有办法做到这一点(或者我不理解一个怪异的东西)。

之后我认为“好吧,当'聊天'控制器打开时,它每X秒调用一个方法并查找新消息”,但是如果我看到whatsapp的工作原理那就没有多大意义(我知道这是一个夸张的比较)我认为这会导致崩溃或记忆问题。

所以,我不知道应用程序如何“知道”有新消息。

任何人都可以告诉我从哪里开始寻找?

我真的迷失了。

提前致谢。

编辑: 好吧,根据回答,我知道一个螺丝问它,对所有人都很抱歉,特别是对moonwave99

3 个答案:

答案 0 :(得分:2)

做得好是一项庞大的计划。 Adium(一种流行的Mac聊天应用程序)大约有200,000行代码不计算用于与IM服务器交互的库。

根据你愿意接受的简单程度,你可以做的远不止这些,但它仍然是一堆工作。我建议首先寻找XMPP库;这是一个标准化的灵活协议。

答案 1 :(得分:0)

如果您愿意使用外部系统来管理它,背后的数据和推送通知,请查看Parse.com。我已经使用它了,它会为你提供一个后端和iOS类来为你管理它。

答案 2 :(得分:0)

我有0次聊天编程经验,但我仍会尝试回答你的问题。

您需要一台服务器来管理客户端之间的消息传递。

然后你可以遵循两条路线:

  • 让客户端每X秒为新邮件提取服务器(如果你问我最简单的选择)
  • 在客户端和服务器之间建立套接字连接,让客户端在该套接字上侦听服务器转发的传入消息(如果你问我,最好的选择)

开发第一个选项并不难,但第二个选项需要相当多的学习努力,特别是如果你不熟悉网络和类似的东西。

编辑:要开发第一个选项,您可以使用库AFNetworking向服务器发送http请求,并让服务器以JSON或JSON格式返回传入消息XML数据。

看看这个非常好的入门教程。 http://www.ibm.com/developerworks/library/x-ioschat/