Push的原理:
Push 的工作机制可以简单的概括为下图
图中,Provider是指某个iPhone软件的Push服务器,这篇文章我将使用.net作为Provider。
APNS 是Apple Push Notification Service(Apple Push服务器)的缩写,是苹果的服务器。
上图可以分为三个阶段。
第一阶段:.net应用程序把要发送的消息、目的iPhone的标识打包,发给APNS。
第二阶段:APNS在自身的已注册Push服务的iPhone列表中,查找有相应标识的iPhone,并把消息发到iPhone。
第三阶段:iPhone把发来的消息传递给相应的应用程序, 并且按照设定弹出Push通知。
从上图我们可以看到。
1、首先是应用程序注册消息推送。
2、 IOS跟APNS Server要deviceToken。应用程序接受deviceToken。
3、应用程序将deviceToken发送给PUSH服务端程序。
4、 服务端程序向APNS服务发送消息。
5、APNS服务将消息发送给iPhone应用程序。
就拿微信来说,其实你在使用微信的时候,收到的微信消息,并不是来源于腾讯的服务器,而是来源于苹果的服务器,他相当于当做了你手机的后台,在你手机把微信关闭或者QQ关闭后,之前所登陆的服务器会缓存到了苹果服务器(或者说某个服务器),然后之后别人发送消息,那个服务器收到后进行分析,再把信息给传送到你的手机上。