iOS --工作之余小总结之聊天推送(APNS)原理

最近有人问我关于推送的原理,正好有时间就做一下整理。
公司需要,最近用环信和BMOB服务器写了一个简单的聊天Demo,其中在离线接收聊天信息的时候,用到了苹果的推送功能,借此机会,我简单说一下推送的原理。
有用户A和用户B两个用户之间通信,其实并不是两个用户之间相互通信,而是通过服务器(这个Demo用环信服务器)进行通信,A
与B和服务器进行长链接,A将发送的内容发给B,服务器看到B在线,就将内容发送给B。只是都在线的情况,下面我说说离线时的情况。
首先,如果B离线了,不使用推送APNS,那B就真的收不到消息了。当我们使用推送的时候,在A和B刚运行的时候,就会向苹果的服务器请求,返回来一个ToKen,作为某一个用户的唯一标识(有几个用户就会返回回来不一样的标识ToKen),而我们iOS程序员要做的就是将一个个的Token,给到环信的服务器,当A发消息到环信服务器想给B,环信服务器检测不到B在线(B此时下线了),那么环信服务器就会将B的ToKen给到苹果的服务器,苹果服务器通过Token去唤醒(提示)B有消息,让B上线。
以上就是推送的过程,简单的说,推送就是苹果的服务器去唤醒不在线的用户有消息,让其上线。
此外,我们用到的激光推送,也是这个原理,某服务器将Token给到苹果服务器的过程是服务器人员的工作,而iOS要负责的就是将从苹果请求回的Token给到某服务器。
聊天Demo我会之后上传到个人GitHub上。目前只有简略版,需要可以私信我。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值