目录
一.需求
1. 需求概述
2. 服务器功能需求
3. 服务器非功能需求
4. 客户端功能需求
5. 客户端非功能需求
二. 架构
1. 服务器初始架构
2. 优化后服务器架构
3. 客户端架构
4. 服务器与客户端通信格式
三. 代码
1. 服务器—接入层
2. 服务器—服务层
3. 服务器—DAO 层
4. 服务器—工具类
5. 客户端
四.质量评价
1. 高性能
2. 可读可修改性
3. 可测试性
4. 可扩展性
5. 设计模式
五.结论
一.需求
1. 需求概述
本程序为基于 C/S 的网络聊天室系统,使用 Linux 网络编程作为服务器,使用 QT 编程作为客户端。
客户端通过输入 IP 地址、端口号、Email、聊天名称、聊天组号连接到服务器, 用户通过客户端发送消息,同时接收来自相同组其他客户端发送的消息,获取当前在线用户信息,通知新用户的上线和用户的下线,实现群聊功能。
服务器负责管理用户的连接、发送消息与退出,有新用户建立连接时,记录新用户信息,并向同组其他客户端广播;用户退出时,清除用户信息,并向同组其他客户端广播离开信息;当有用户发送消息时,向同组其他客户端广播。
2. 服务器功能需求
服务器主要功能有:管理连接的客户端、接收客户端发送数据、向客户端转发数据、向客户端发送数据。