苹果消息是先推送到服务器,iPhone消息推送机制实现与探讨
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.一种消息事件的分发方法,其特征在于,包括:如果监测到消息发布服务发布的消息事件,获取预先存储的配置信息:其中,所述配置信息包括所述消息发布服务,以及所述消息发布服务对应的至少一个消息订阅服务:根据 ...
- 苹果12隔空投送显示无法连接服务器,iphone隔空投送功能无法正常使用解决办法_隔空投送功能打不开_3DM手游...
iPhone手机中的"隔空投送"是一个快速便捷的无限传输功能,苹果用户可以使用"隔空投送"功能与附近的其它苹果设备快速共享照片.文档.应用.网页等等,非常的方便 ...
- 苹果7全网通经常显示无服务器,iPhone 7处理器异响查出元凶?英特尔大喊冤枉
原标题:iPhone 7处理器异响查出元凶?英特尔大喊冤枉 [PConline 资讯]随着iPhone 7发售,已经过去了一个星期,而新机的部分问题也逐渐被曝光.每一代iPhone刚出来的时候都会被各 ...
- 苹果4收不到信号无服务器,iPhone信号很弱或无服务的4个解决办法
1.开关飞行模式 在日常使用iPhone时,偶尔会有手机信号不佳的时候,例如在一些处于跨基站位置往往会出现信号跳水不稳定的情况.这时,用户可以尝试开关飞行模式的方法,来尝试恢复手机信号.具体操作方法: ...
- 【苹果推群发iMessage推】软件安装它起首将消息发送到Apple Push服务器,而后Apple Push服务器将消息发送到装配了应用程序的手机
推荐内容IMESSGAE相关 作者推荐内容 iMessage苹果推软件 *** 点击即可查看作者要求内容信息 作者推荐内容 1.家庭推内容 *** 点击即可查看作者要求内容信息 作者推荐内容 2.相册 ...
- 【苹果相册推送iMessage】群发公用推送服务器(APNS)
推荐内容IMESSGAE相关 作者推荐内容 iMessage苹果推软件 *** 点击即可查看作者要求内容信息 作者推荐内容 1.家庭推内容 *** 点击即可查看作者要求内容信息 作者推荐内容 2.相册 ...
- 服务器收到消息怎么推送给app_「刹那问答24」浅谈FCM推送
今天和大家聊一下FCM推送,它是GCM的升级版,也是安卓的官方推送,就比如腾讯旗下的几个社交软件,考虑到让用户及时收到消息,而能够让后台常驻,但这不经意间会让耗电量增加,但是有了FCM,根据它的运行机 ...
- php微信小程序物流进度推送,微信小程序 消息推送php服务器验证实例详解
微信小程序 消息推送php服务器验证实例详解 设置页面("设置">>"开发设置"): 1.设置服务器域名 注意http和https协议的不同. 2. ...
- php 通知客户端,PHP+SSE服务器向客户端推送消息
SSE与WebSocket作用相似,都是建立浏览器与服务器之间的通信渠道,然后服务器向浏览器推送信息. 但是WebSocket比SSE强大很多,SSE只能作为一个轻量级的消息推送方案,解决了从服务端向 ...
最新文章
- 前瞻:Spring 6.0将停止支持Freemarker和JSP
- poj2456 Aggressive cows(二分查找)
- 第六章 深度学习(上中)
- android 4.4 OpenGL实现库的加载规则
- 密钥交换算法 - Java加密与安全
- Apache Camel 3的工作终于开始了
- 匹配追踪分解 时频 matlab,Matlab匹配追踪(MatchingPursuit) 之一
- 互联网实习笔记之30天总结
- 插画素材模板 | 玩转电商促销季插画设计
- ASP.NET Core 2.1 源码学习之 Options[3]:IOptionsMonitor 【转】
- Micro-mvc与springcloud整合
- python用小矩形标记数据点_Python – 在散点处绘制已知大小的矩形
- Outlook邮件服务器eas,配置Outlook使用Outlook.com和Hotmail的两步验证
- itunes未能连接到iphone软件更新服务器,iTunes无法联系iphone软件更新服务器 不可连接解决方法...
- 复合梯形公式C语言程序,求运用c++来实现复合梯形公式的代码
- contiki学习笔记(十二)UIPTCP/IP协议
- 分类模型到底如何选择
- 用户贷款风险预测之Top10初体验
- 知乎不能改用户名吗_不知道不能随便改名字吗
- 丁磊、马云、马化腾的个性差异
热门文章
- 建行与爱赏合作推出建行爱赏卡 刷卡消费“抢红包”
- 解决VsCode有时无法输入的问题及vim插件下NORMAL模式的快捷操作
- tomcat启动:startup.sh、catalina.sh、setclasspath.sh三者关系
- 如何基于Arduino开发板使用BH1750环境光传感器
- Chromium硬件加速渲染的OpenGL命令执行过程分析
- 解决运行js代码报错—Warning: To load an ES module, set “type“: “module“ in the package.json or use the .mjs
- Single Threaded Execution模式
- OAuth2.0第三方授权原理与实战
- 如何从TI官网下载芯片并生成库到Altium Designer
- React中实现类似v-click-outside效果