1.首先我们以实现方式来切入,基本上有以下四种实现方式: 1)基于Scoket原生:代表框架 CocoaAsyncSocket。 当然,以上四种方式我们都可以不使用第三方框架,直接基于OS底层Scoket去实现我们的自定义封装。下面我会给出一个基于Scoket原生而不使用框架的例子,供大家参考一下。 首先需要搞清楚的是,其中MQTT和XMPP为聊天协议,它们是最上层的协议,而WebScoket是传输通讯协议,它是基于Socket封装的一个协议。而通常我们所说的腾讯IM的私有协议,就是基于WebScoket或者Scoket原生进行封装的一个聊天协议。 具体这3种聊天协议的对比优劣如下: 1.XMPP
优点:协议开源,可拓展性强,开发者接入方便 2.MQTT 优点:协议简单,流量少,订阅 + 推送模式, 3.私有协议 优点:市面上主流的IM APP都是使用的私有协议。高效,节约流量(一般使用二进制协议),安全性高,难以破解 总结: 所以说到底,iOS要做一个真正的IM产品,一般都是基于Scoket或者WebScoket等,再之上加上一些私有协议来保证的。
by:liming |
|
来自: 昵称70680357 > 《待分类》