iOS聊天APNS,套接字或时间间隔

时间:2012-06-30 05:37:35

标签: iphone ios sockets chat apple-push-notifications

我正在为iPhone制作聊天应用程序,但我不确定如何立即发出对话消息。

我已经阅读了关于此主题的大量Google搜索结果。还有一次:
- http://www.raywenderlich.com/3932/how-to-create-a-socket-based-iphone-app-and-server
- http://www.raywenderlich.com/3443/apple-push-notification-services-tutorial-part-12

APNS方法:
一个不可见的通知将被推送到iPhone,表示准备好读取新消息。因此,该应用程序将请求未读消息。因此,我不会手动轮询新消息,而是让APNS帮忙。但我不确定?

套接字方法:
建立一个可以共享数据的套接字连接。在db中找到新消息时,它会自动将数据发送到应用程序。但是IP范围,防火墙,功耗等等呢?我不确定:(

投票方式:
制作一个轮询请求的时间间隔,耗电量是我的敌人。

我的问题:
- 哪种方法最好?
- 其他建议?
- 我真的需要一些有这方面经验的人的利弊和专业人士。

例子总是好的。
感谢

2 个答案:

答案 0 :(得分:6)

我认为您的主要关注点是在应用程序处于后台时如何接收新邮件。因为当我可以通过WhatsApp这样的应用程序收到通知时,我不会整天打开一个信使应用程序。

优于TCPIP套接字,您可以使用websockets。因为它是HTTP,所以没有防火墙问题,但是需要与前台上的应用程序永久连接,从而耗尽电池。

由于只允许音乐,位置或语音IP在后台运行,除非应用程序处于打开状态,否则无法轮询。请注意,如果您注册这些后台任务并执行其他操作,Apple会注意并拒绝您的应用。

因此,请使用APNS。这就是WhatsApp所做的。

答案 1 :(得分:2)

使用XMPP SERVER进行聊天

http://mobile.tutsplus.com/tutorials/iphone/building-a-jabber-client-for-ios-xmpp-integration/

我希望此链接对您有用。