• 个人小结


    推送:分为远程推送和本地推送

    远程推送:顾名思义就是从苹果服务器推送过来的消息,这种推送需要目标设备的 deveiceToken 和 UDID, 其中前者是由程序的服务器提供给苹果服务器,后者是苹果服务器自己活得的,根据这两者可以讲消息唯一的推送给指定的目标.

    本地推送:就是不经过苹果官方服务器进行的推送,最常用的就是极光推送,它的使用原理就的通过 socket 加心跳包的方式来实现, socket 可以理解为确定某台设备使用的,它是 IP 地址+协议+端口号.心跳包的作用就是通过不断的发送消息到客户端,判断用户是否在线,如果不在线则要用远程推送,如果在线则用本地推送.

    即时通讯:常用的方式有 XMPP, 环信和融云

    XMPP: 即可扩展通讯协议,官方提供的即时通讯协议.由于是即时通讯,所以使用的是自己的服务器来进行通讯的,这就需要常见本地服务器(openfire 服务器).它的通讯架构为 C/S 架构,通讯原理是通过 socket 来实现的,它在传输过程中传输的是 XML 数据流.因此 XMPP 通讯需要两个条件:openFire 服务器和 XMPP 框架

    XMPP 使用原理:它是一种 C/S 架构模式,因此使用的原理是客户端通过

    TCP/IP 连接到服务器,通过 socket 建立链接,然后在通道上传输 XML 数据流.

    环信:环信是对官方的即时通讯协议进行的封装,因此使用的原理是一样的.环信的优点就是不用用户在自己创建服务器

    环信的使用步骤:注册为开发者à获取 appkeyà 下载 SDKà 按照文档做事情

    使用区别:

    XMPP: 发送附件比较麻烦.这是由于 XMPP 没有提供发送附件的功能,要发送附件的话要自己实现,实现方法为:先将文件上传到文件服务器,然后获取文件路径,最后将文件路径发送给好友.

    注:解析 XMPP 返回的数据的时候用的是 kissXML框架 而不是常用的哪几种框架.

    环信:内部集成了服务器使用很方便,实现了数据缓存,实现了音视频等的发送功能.

  • 相关阅读:
    【BZOJ3105】【CQOI2013】新Nim游戏
    【BZOJ3884】上帝与集合的正确用法
    【BZOJ3518】点组计数
    【BZOJ4804】欧拉心算
    【BZOJ4059】Non-boring sequences
    【BZOJ 4016】 [FJOI2014]最短路径树问题
    【BZOJ 2744】【HEOI2012】朋友圈
    【BZOJ4417】: [Shoi2013]超级跳马
    【BZOJ 2713】[Violet 2]愚蠢的副官&&【BZOJ1183】[Croatian2008]Umnozak——【数位DP】
    【BZOJ】1969: [Ahoi2005]LANE 航线规划
  • 原文地址:https://www.cnblogs.com/xuan-yuan/p/5626163.html
Copyright © 2020-2023  润新知