MobIM 的iOS实现方式

简介:

MobIM SDK是Mob为广大开发者在即时通讯领域能够快速得到解决方案而开发的一套SDK,旨在提供最快捷的集成方式,最简便的使用方法,最可靠的技术服务。
一、MobIM整体架构与功能模块
MobIMSDK 为开发者提供一套完整的IM开发框架,整体架构包括如下几个部分:
1

MobIMSDK_Core:为SDK的核心模块,负责消息同步协议的实现,与服务器进行数据通信。
MobIMSDK:是基于SDK核心模块实现的完整的IM功能,主要是不同类型的消息收发,以及会话管理,好友,群组等功能。
MobIMUI:是一组IM相关的UI控件,只要是帮助开发者快速集成MobIMSDK。
开发者可以面向UI进行快速集成,也可以直接面向SDK,自行构建UI调用SDK提供的接口。
MobIMSDK整体采用模块化设计,每个模块的功能相对独立和完善,开发者可以根据自己的需求选择使用以下模块:
2

MobIM:是SDK的主入口,主要是完成登陆,退出,连接管理等功能。同时负责其他模块的调用。
MIMChatManager:负责消息收发,会话管理等功能。
MIMContactManager:负责管理好友的添加,删除,黑名单等功能。
MIMGroupManager:负责群组管理,包括创建群,删除群,群成员,群信息管理等等。
二、MobIM SDK 业务流程
开发使用SDK时可参考如下业务流程图,方便理解与集成SDK。
3

1.客户端集成,启动并初始化SDK;
2.客户端自行构建UI并调用SDK相关接口,进行聊天状态初始化,准备开始聊天;
3.发送消息经过SDK包装与存储,再通过核心SDK发送给服务器,服务器进行转发;
4.服务器转发数据时,核心SDK接收到数据会进行实时上报,到SDK层进行数据包装与存储,同时返回给开发者;
三、相关说明
即时通讯领域三大重要的问题,一个是通讯方式,基于TCP还是UDP的一个选择,一个是数据格式,目前有很多数据格式协议,可以说是各有千秋,MobIM选择在JSPP协议的基础上做了业务相关优化,还有一个就是数据存储,在MobIM的iOS客户端选择了iOS系统的CoreData作为数据存储工具。

目录
相关文章
|
安全 数据安全/隐私保护 iOS开发
iOS小技能:【发红包】使用tweak和lua脚本结合进行实现
我们开发的大部分越狱程序,都是编译成动态链接库(`例如:介绍的越狱程序(Tweak)开发,就是动态链接库。`),然后通过越狱平台的MobileSubstrate(iOS7上叫CydiaSubstrate)来加载进入目标程序(Target),通过对目标程序的挂钩(Hook),来实现相应的功能。
262 0
|
敏捷开发 安全 Unix
iOS开发 - 在实战中挖掘之线程间的通信方式
iOS开发 - 在实战中挖掘之线程间的通信方式
153 0
|
移动开发 JavaScript weex
weex-自定义module,实现weex在iOS的本地化,js之间互相跳转,交互,传值(iOS接入weex的最佳方式)
weex-自定义module,实现weex在iOS的本地化,js之间互相跳转,交互,传值(iOS接入weex的最佳方式)
219 0
|
存储 数据处理 iOS开发
iOS开发-本地推送实现方法和数据处理方案(二)
iOS开发-本地推送实现方法和数据处理方案(二)
168 0
|
存储 数据处理 iOS开发
iOS开发-本地推送实现方法和数据处理方案(一)
iOS开发-本地推送实现方法和数据处理方案(一)
209 0
|
iOS开发
iOS开发 - 不通过import引入类名实现push或present
iOS开发 - 不通过import引入类名实现push或present
75 0
|
Android开发 iOS开发
iOS开发 - 商品详情页两种分页模式,只提供思路和实现方式。
iOS开发 - 商品详情页两种分页模式,只提供思路和实现方式。
354 0
iOS开发 - 商品详情页两种分页模式,只提供思路和实现方式。
|
存储 安全 iOS开发
iOS开发 - 继udid,Mac地址等一系列唯一标识无效后,如何用KeyChain来实现设备唯一性
iOS开发 - 继udid,Mac地址等一系列唯一标识无效后,如何用KeyChain来实现设备唯一性
397 0
iOS开发 - 继udid,Mac地址等一系列唯一标识无效后,如何用KeyChain来实现设备唯一性
|
Swift 数据安全/隐私保护 iOS开发
iOS开发 - swift通过Alamofire实现https通信
iOS开发 - swift通过Alamofire实现https通信
345 0
iOS开发 - swift通过Alamofire实现https通信
|
开发者 iOS开发
iOS开发 - 用AFNetworking实现https单向验证,双向验证
iOS开发 - 用AFNetworking实现https单向验证,双向验证
342 0
iOS开发 - 用AFNetworking实现https单向验证,双向验证