iOS应用程序从服务器实时更新:Socket(使用流)或Apple Push Notification服务?

前端之家收集整理的这篇文章主要介绍了iOS应用程序从服务器实时更新:Socket(使用流)或Apple Push Notification服务?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图制作一个iOS 5应用程序,它具有来自服务器的实时性.它只会在应用程序运行时使用这些.

为了实时进行投票,我一直在评估两条设计路线:

从应用程序创建一个套接字到服务器,并通过流交换信息.

>优点:相对简单,不涉及第三方.
缺点:电池寿命消耗.
>有关如何运行的概述,请检查
出来这个优秀的教程:
http://www.raywenderlich.com/3932/how-to-create-a-socket-based-iphone-app-and-server

使用标准HTTP与服务器进行通信,并通过应用程序的每个请求让服务器知道他们正在查看什么.如果有新功能可供用户使用,请发送Apple Push Notification(无明显警报),让应用知道可以下载新的东西.

>优点:不开放新的TCP连接,因此电池寿命不必要地耗尽.
缺点:感觉像一个糟糕的黑客.
> APN http://developer.apple.com/library/mac/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/ApplePushService/ApplePushService.html的正式文件


我认为一个套接字将是要走的路,但在我承诺之前,我想要第二个意见,因为这是我第一次做这样的事情!

解决方法

真的需要“全面实时”吗?从我的角度来看,我更喜欢http,因为它已经很好地集成到了iOS SDK中.它在网络上易于理解,维护和实施以及大量文档.所以也许一分钟左右的http调查就足够了(取决于应用程序和用户数量).请考虑防火墙!由于提供商或本地wifi的防火墙策略,未知端口的流量可能会被拒绝.所以如果你真的需要实时连接,我想你必须使用套接字.

猜你在找的iOS相关文章