Linux
目 录 1 绪论 1 1.1 研究背景 1 1.2 即时通信的国内外发展现状 1 1.3 课题的研究意义 2 1.4 本文的主要工作 2 2 系统相关技术介绍 4 2.1 Qt 4 2.1.1 Qt的概念 4 2.1.2 QT的历史和发展 4 2.1.3 Qt的主要功能 5 2.2 即时通信的通信协议 6 2.2.1 UDP协议 6 2.2.2 TCP/IP协议 7 2.3 基本套接字 8 2.3.1 套接字基本概念 8 2.3.2 套接字连接过程 9 2.4 即时通信的模型 10 2.4.1 P2P模型 10 2.4.2 客户机/服务器模型 11 3需求分析 13 3.1 功能需求 13 3.2 性能需求 13 3.3 数据需求 14 3.3.1 保存数据的方法和载体 14 3.3.2 数据一致性与容错性 14 4系统设计 15 4.1 系统设计目标 15 4.2 功能模块划分 15 4.3 功能模块的说明 16 4.3.1 初始化(广播用户信息) 16 4.3.2 个人信息管理管理 16 4.3.3 用户列表管理 16 4.3.4 文本信息传输 16 4.3.5 文件传输 17 4.4 数据库设计 17 4.5 系统实现具体流程 18 4.5.1 发送和接收广播的线程设计流程 18 4.5.2 监听端口建立连接的线程设计流程 18 4.4.3 命令处理线程的主要控制命令及其设计流程 19 5 系统功能实现 20 5.1 主界面 20 5.2 聊天界面 21 5.3 聊天字体设置 21 5.4 聊天记录功能 22 5.5 修改个人资料 23 5.6 文件传送功能 24 5.7 管理好友组 25 6系统测试 26 7结论 27 参 考 文 献 28 致谢 29
目 录
1 绪论 1
1.1 研究背景 1
1.2 即时通信的国内外发展现状 1
1.3 课题的研究意义 2
1.4 本文的主要工作 2
2 系统相关技术介绍 4
2.1 Qt 4
2.1.1 Qt的概念 4
2.1.2 QT的历史和发展 4
2.1.3 Qt的主要功能 5
2.2 即时通信的通信协议 6
2.2.1 UDP协议 6
2.2.2 TCP/IP协议 7
2.3 基本套接字 8
2.3.1 套接字基本概念 8
2.3.2 套接字连接过程 9
2.4 即时通信的模型 10
2.4.1 P2P模型 10
2.4.2 客户机/服务器模型 11
3需求分析 13
3.1 功能需求 13
3.2 性能需求 13
3.3 数据需求 14
3.3.1 保存数据的方法和载体 14
3.3.2 数据一致性与容错性 14
4系统设计 15
4.1 系统设计目标 15
4.2 功能模块划分 15
4.3 功能模块的说明 16
4.3.1 初始化(广播用户信息) 16
4.3.2 个人信息管理管理 16
4.3.3 用户列表管理 16
4.3.4 文本信息传输 16
4.3.5 文件传输 17
4.4 数据库设计 17
4.5 系统实现具体流程 18
4.5.1 发送和接收广播的线程设计流程 18
4.5.2 监听端口建立连接的线程设计流程 18
4.4.3 命令处理线程的主要控制命令及其设计流程 19
5 系统功能实现 20
5.1 主界面 20
5.2 聊天界面 21
5.3 聊天字体设置 21
5.4 聊天记录功能 22
5.5 修改个人资料 23
5.6 文件传送功能 24
5.7 管理好友组 25
6系统测试 26
7结论 27
参 考 文 献 28
致谢 29