http://www.cocoachina.com/iphonedev/sdk/2011/1124/3599.html

最近两天在研究ios的消息推送机制。研究这个东西,还是充满兴趣的。

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应用程序。

无论是iPhone客户端跟APNS,还是Provider和APNS都需要通过证书进行连接的。下面我介绍一下几种用到的证书。

几种证书:

一、*.certSigningRequest文件

1、生成Certificate Signing Request (CSR):

2、填写你的邮箱和Common Name,这里填写为PushChat。选择保存到硬盘。

这样就在本地生成了一个PushChat.certSigningRequest文件。

二、生成*.p12文件

1、导出密钥,并输入你的密码。

输入你的密码:

这样就生成了一个PushChatKey.p12文件。

三、新建一个App ID 和SSL certificate文件

苹果消息是先推送到服务器,iPhone消息推送机制实现与探讨相关推荐

  1. 信息推送分发服务器系统,消息事件的分发方法、分发平台、系统及服务器专利_专利查询 - 天眼查...

    1.一种消息事件的分发方法,其特征在于,包括:如果监测到消息发布服务发布的消息事件,获取预先存储的配置信息:其中,所述配置信息包括所述消息发布服务,以及所述消息发布服务对应的至少一个消息订阅服务:根据 ...

  2. 苹果12隔空投送显示无法连接服务器,iphone隔空投送功能无法正常使用解决办法_隔空投送功能打不开_3DM手游...

    iPhone手机中的"隔空投送"是一个快速便捷的无限传输功能,苹果用户可以使用"隔空投送"功能与附近的其它苹果设备快速共享照片.文档.应用.网页等等,非常的方便 ...

  3. 苹果7全网通经常显示无服务器,iPhone 7处理器异响查出元凶?英特尔大喊冤枉

    原标题:iPhone 7处理器异响查出元凶?英特尔大喊冤枉 [PConline 资讯]随着iPhone 7发售,已经过去了一个星期,而新机的部分问题也逐渐被曝光.每一代iPhone刚出来的时候都会被各 ...

  4. 苹果4收不到信号无服务器,iPhone信号很弱或无服务的4个解决办法

    1.开关飞行模式 在日常使用iPhone时,偶尔会有手机信号不佳的时候,例如在一些处于跨基站位置往往会出现信号跳水不稳定的情况.这时,用户可以尝试开关飞行模式的方法,来尝试恢复手机信号.具体操作方法: ...

  5. 【苹果推群发iMessage推】软件安装它起首将消息发送到Apple Push服务器,而后Apple Push服务器将消息发送到装配了应用程序的手机

    推荐内容IMESSGAE相关 作者推荐内容 iMessage苹果推软件 *** 点击即可查看作者要求内容信息 作者推荐内容 1.家庭推内容 *** 点击即可查看作者要求内容信息 作者推荐内容 2.相册 ...

  6. 【苹果相册推送iMessage】群发公用推送服务器(APNS)

    推荐内容IMESSGAE相关 作者推荐内容 iMessage苹果推软件 *** 点击即可查看作者要求内容信息 作者推荐内容 1.家庭推内容 *** 点击即可查看作者要求内容信息 作者推荐内容 2.相册 ...

  7. 服务器收到消息怎么推送给app_「刹那问答24」浅谈FCM推送

    今天和大家聊一下FCM推送,它是GCM的升级版,也是安卓的官方推送,就比如腾讯旗下的几个社交软件,考虑到让用户及时收到消息,而能够让后台常驻,但这不经意间会让耗电量增加,但是有了FCM,根据它的运行机 ...

  8. php微信小程序物流进度推送,微信小程序 消息推送php服务器验证实例详解

    微信小程序 消息推送php服务器验证实例详解 设置页面("设置">>"开发设置"): 1.设置服务器域名 注意http和https协议的不同. 2. ...

  9. php 通知客户端,PHP+SSE服务器向客户端推送消息

    SSE与WebSocket作用相似,都是建立浏览器与服务器之间的通信渠道,然后服务器向浏览器推送信息. 但是WebSocket比SSE强大很多,SSE只能作为一个轻量级的消息推送方案,解决了从服务端向 ...

最新文章

  1. 前瞻:Spring 6.0将停止支持Freemarker和JSP
  2. poj2456 Aggressive cows(二分查找)
  3. 第六章 深度学习(上中)
  4. android 4.4 OpenGL实现库的加载规则
  5. 密钥交换算法 - Java加密与安全
  6. Apache Camel 3的工作终于开始了
  7. 匹配追踪分解 时频 matlab,Matlab匹配追踪(MatchingPursuit) 之一
  8. 互联网实习笔记之30天总结
  9. 插画素材模板 | 玩转电商促销季插画设计
  10. ASP.NET Core 2.1 源码学习之 Options[3]:IOptionsMonitor 【转】
  11. Micro-mvc与springcloud整合
  12. python用小矩形标记数据点_Python – 在散点处绘制已知大小的矩形
  13. Outlook邮件服务器eas,配置Outlook使用Outlook.com和Hotmail的两步验证
  14. itunes未能连接到iphone软件更新服务器,iTunes无法联系iphone软件更新服务器 不可连接解决方法...
  15. 复合梯形公式C语言程序,求运用c++来实现复合梯形公式的代码
  16. contiki学习笔记(十二)UIPTCP/IP协议
  17. 分类模型到底如何选择
  18. 用户贷款风险预测之Top10初体验
  19. 知乎不能改用户名吗_不知道不能随便改名字吗
  20. 丁磊、马云、马化腾的个性差异

热门文章

  1. 建行与爱赏合作推出建行爱赏卡 刷卡消费“抢红包”
  2. 解决VsCode有时无法输入的问题及vim插件下NORMAL模式的快捷操作
  3. tomcat启动:startup.sh、catalina.sh、setclasspath.sh三者关系
  4. 如何基于Arduino开发板使用BH1750环境光传感器
  5. Chromium硬件加速渲染的OpenGL命令执行过程分析
  6. 解决运行js代码报错—Warning: To load an ES module, set “type“: “module“ in the package.json or use the .mjs
  7. Single Threaded Execution模式
  8. OAuth2.0第三方授权原理与实战
  9. 如何从TI官网下载芯片并生成库到Altium Designer
  10. React中实现类似v-click-outside效果