一、环境
1.1 开发平台硬件配置CPU:Intel(R) Core(TM) i5-5200U,主频2.2GHz
内存:8.0GB DDR3,1600MHz
硬盘:500GB 机械硬盘
1.2 系统软件组件操作系统:Windows 10 Pro Insider Preview
版本:17109
OS内部版本:16299.125
1.3 开发平台Qt版本信息:
Qt Creator 4.5.0(Community)
Qt 5.10.0 for Desktop(MinGW 5.3.0 32 bit)
MySql数据库:
MySql Server
Version 5.7.20
数据库可视化界面操作软件:
Navicat For MySql
Version 10.1.7-enterprise
1.4 使用的第三方组件mysql-connector-c-6.1.11-win32.msi
二、系统功能需求
基于TCP和UDP协议实现一个即时通讯工具,具体功能要求包括:
工具包括服务器端和客户端
具备用户注册、登录、找回密码功能(基于TCP协议)
两个用户如果同时在线,采用点到点通信方式进行聊天,信息不需要通过服务器中转,服务器也不保存(基于TCP协议)
支持离线消息(基于TCP协议)
支持点到点可靠文件传输(基于UDP协议)
存储在服务器端的数据需要进行强加密
支持不少于两组用户同时在线交流和传输文件
文件传输具有良好的性能,能够充分利用网路带宽
人机交互友好,软件易用性强
三、系统设计
3.1 系统架构
系统总架构图
3.2 功能模块划分数据库模块:数据库中包含两个数据表
数据表一保存用户的登录名、密码、手机号、客户登录后的IP地址和端口号以及用户在线状态等信息,并对密码进行加密
数据表二用于保存离线消息ÿ