-6

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

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

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

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

谁能告诉我从哪里开始寻找?

我真的很迷茫。

提前致谢。

编辑:好的好的,根据答案,我知道它问这个问题,对不起,特别是moonwave99

4

3 回答 3

2

做好这件事是一个巨大的工程。Adium(一个流行的 Mac 聊天应用程序)大约有 200,000 行代码,这还不包括它用来与 IM 服务器交互的库。

根据您愿意获得的简单程度,您可以做的远不止这些,但这仍然是一堆工作。我建议从寻找 XMPP 库开始;这是一个标准化的灵活协议。

于 2013-05-16T15:38:30.447 回答
0

我在聊天编程方面有 0 经验,但我仍然会尝试回答您的问题。

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

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

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

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

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

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

于 2013-05-16T15:45:30.733 回答
0

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

于 2013-05-16T15:34:39.700 回答