我正在为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范围,防火墙,功耗等等呢?我不确定:(
投票方式:
制作一个轮询请求的时间间隔,耗电量是我的敌人。
我的问题:
- 哪种方法最好?
- 其他建议?
- 我真的需要一些有这方面经验的人的利弊和专业人士。
例子总是好的。
感谢
答案 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/
我希望此链接对您有用。