摘要 | 第5-6页 |
Abstract | 第6页 |
1 引言 | 第9-15页 |
1.1 研究背景 | 第9页 |
1.2 研究意义 | 第9-11页 |
1.3 国内外研究现状 | 第11-13页 |
1.4 主要研究内容及目标 | 第13-15页 |
2 相关技术研究 | 第15-23页 |
2.1 IOS 开发基础 | 第15-20页 |
2.1.1 iOS 开发框架 | 第15-17页 |
2.1.2 开发语言及开发环境 | 第17页 |
2.1.3 Block 编程 | 第17-18页 |
2.1.4 使用 GCD 和 Dispatch Queue 进行并发编程 | 第18-20页 |
2.2 PROTOCOL BUFFER 协议 | 第20-21页 |
2.3 SOCKET | 第21页 |
2.4 SQLITE | 第21-23页 |
3 即时通讯系统的架构与整体设计 | 第23-47页 |
3.1 系统需求分析 | 第23-25页 |
3.1.1 系统功能需求分析 | 第23-24页 |
3.1.2 非功能需求分析 | 第24-25页 |
3.2 IM 系统的整体架构 | 第25页 |
3.3 软件架构 | 第25-26页 |
3.4 PROTOCOL BUFFERS 消息格式的设计 | 第26-35页 |
3.4.1 登陆通讯协议设计 | 第27-28页 |
3.4.2 聊天通讯协议设计 | 第28-32页 |
3.4.3 联系人相关通讯协议设计 | 第32-35页 |
3.5 客户端数据库的设计 | 第35-38页 |
3.5.1 buddy 用户信息表 | 第35-36页 |
3.5.2 groups 组信息表 | 第36页 |
3.5.3 messagelist 聊天消息列表 | 第36-37页 |
3.5.4 messages 聊天内容表 | 第37-38页 |
3.6 客户端流程设计 | 第38-43页 |
3.6.1 登陆初始化 | 第38-39页 |
3.6.2 聊天流程 | 第39-42页 |
3.6.3 注销流程 | 第42-43页 |
3.7 程序主体功能 | 第43-47页 |
3.7.1 UI 设计 | 第43页 |
3.7.2 本地缓存 | 第43-45页 |
3.7.3 消息推送 | 第45-47页 |
4 即时通讯系统的详细设计与实现 | 第47-71页 |
4.1 PROTOCOL BUFFER 解析模块的实现 | 第47-50页 |
4.1.1 Protocol buffer 引入工程 | 第47页 |
4.1.2 通信协议的设计和实现 | 第47-50页 |
4.2 消息处理模块的实现 | 第50-63页 |
4.2.1 消息队列的实现 | 第50-54页 |
4.2.2 Socket 长连接的实现 | 第54-58页 |
4.2.3 委托模式下的自动重连 | 第58-60页 |
4.2.4 通知方式实现消息分发 | 第60-63页 |
4.3 数据库单例模式的实现 | 第63-66页 |
4.3.1 单例初始化的线程安全 | 第63-65页 |
4.3.2 基于 GCD 的线程队列 | 第65-66页 |
4.4 主体聊天的实现 | 第66-71页 |
4.4.1 九宫格图片算法的实现 | 第67-68页 |
4.4.2 动态聊天界面的实现 | 第68-71页 |
5 应用的部署和测试 | 第71-81页 |
5.1 苹果企业级应用部署 | 第71-73页 |
5.2 PROTOBUF 数据测试 | 第73-78页 |
5.3 内存泄露检测 | 第78页 |
5.4 功能测试及最终效果图 | 第78-81页 |
6 总结与展望 | 第81-83页 |
6.1 论文所做内容 | 第81页 |
6.2 问题与展望 | 第81-83页 |
参考文献 | 第83-85页 |
致谢 | 第85-87页 |
个人简历 | 第87页 |
获奖情况 | 第87-88页 |