iPhone Push
来源:互联网 发布:微波炉加热不均匀 知乎 编辑:程序博客网 时间:2024/05/18 10:52
1Push原理编辑
iphone push机制[1]
整个过程可以分为三个阶段,下面用大家常用的聊天客户端BeejiveIM来说明。(BeejiveIM是一款支持多账户登录的支持Push的 iPhone聊天客户端,支持MSN、Google Talk等)
此时Provider为BeejiveIM服务器,如果在 BeejiveIM上登陆MSN,其实软件是先把登录信息发送到BeejiveIM服务器,再通过其服务器来登陆MSN。因此,当我关 闭了BeejiveIM,BeejiveIM服务器会继续为我登陆MSN,此时如果有人对我的MSN账户发送了消息,那么就会触发Push。此时:
第一阶段:BeejiveIM服务器把要发送的消息、目的iPhone的标识打包,发给APNS。
第二阶段:APNS在自身的已注册Push服务 的iPhone列表中,查找有相应标识的iPhone,并把消息发到iPhone。
第三阶段:iPhone把发来的消息传递给相应的应用程序, 并且按照设定弹出Push通知。
2Push认证编辑
物理连接上的认证:SSL/TLS链接
物理连接上的认证
iPhone在开启Push的时候,会连接 APNS建立一条TLS加密链接即:SSL/TLS链接。每一台正常的iPhone都有一个独有的设备证书,而APNS也有一个服务器证书。两者建立的时候,会验证彼此的证书有 效性。
TLS链接一旦建立,在没有数据的情况下,只需要每隔15分钟进行一次保活的握手,因此几乎不占流量。而 一旦因为意外原因导致链接中断,iPhone会不断重新尝试建立TLS链接,直到成功。
基于token(令牌)的认证
基于token(令牌)的认证
在令牌生成了之后,APNS会把设备令牌(device token)返回给iPhone,而对应的Push应用程序(如BeejiveIM),则把返回来的设备令牌(device token)直接发送给Provider(如BeejiveIM服务器)。这样,当Provider有Push消息要发送时,就会把对应 帐号的设备令牌(device token)和消息一起发送给APNS,而APNS再依据设备令牌(device token),找到相应TLS链接的iPhone,并发送相应的Push消息。
最重要的部分——每台 iPhone独有的设备证书和密钥的来历,正常的iPhone刷系统之后,是没有设备证书和密钥的。这就是为什么iPhone会需要连接到 iTunes上进行激活——激活过程中,Apple会分配给每台iPhone独一无二的设备证书(device certificate)和密钥(key)。
0 0
- iphone push
- iPhone Push
- 再论iPhone Push Notification
- iphone gmail email push
- iphone push是什么
- iPhone push服务端开发
- iphone push机制
- 实现iphone push notification
- 实现iphone push notification
- 实现iphone push notification
- 【iPhone Push】iPhone的Push(推送通知)功能原理浅析
- 如何实现iPhone Push Demo
- iphone push notification 消息推送
- iphone push消息的原理
- iphone push notification 消息推送
- iPhone Push Notification
- 偷窥iPhone Push Notification的幕后
- iphone 推送服务--Apple Push Notification Service
- cmd,pid,端口号
- js技巧大全
- 微信公众账号-开发模式
- Grab Android screenshot to computer via ADB
- android_签名/重新签名/签名是否一致
- iPhone Push
- 宏定义的黑魔法 - 宏菜鸟起飞手册
- 印度阻挡不了中国制造(转载)
- Java中static关键字用法总结 (转)
- 超声波处理含油工业水处理工程
- 项目经历——ASP.Net验证模式问题
- 求工作人员工资 hadoop
- UVA 11374 Airport Express SPFA||dijkstra
- configure: error: C++ preprocessor "/lib/cpp" fails sanity check