Qt聊天室项目

做一个入门项目,多人的聊天室。

需求概述

客户端要求使用Qt或者MFC 界面实现功能(建议用QT写)

服务端搭建在Linux环境中 用epoll模型来实现群聊服务器

服务器端功能需求

服务器能够选择端口号并且启动服务器端的 TCP 服务,等待客户端的 Socket 连接。

服务器能够接受多个客户端的请求,并且能够识别不同的客户端。为每个客户端建立唯一的身份表示。

连接成功后,服务器能接收客户端发过来的文本信息并显示并且转发给客户端。

服务器端能够显示本机的地址和状态。

客户端功能需求

用户可以通过指定主机地址和端口号连接指定的服务器。用户在连接过程中选择 TCP 协议进行连接。

实现消息收发,用户能够通过界面发送消息,并且能通过界面显示服务端发送过来的信息。

实现文件传输功能,可以传文件到群里,其他人可以选择是否下载,点击下载就会将文件下载到本地

一、UI设计

界面大概是这个样子

对于窗口标题的设置

1
2
3
4
5
6
// 在构造函数中添加
this->setWindowTitle("快乐聊天室");
// 设置空标题
this->setWindowTitle("");
// 完全一出标题栏 (失去窗口控制按钮)
this->setWindowFlags(Qt::Window | Qt::FramelessWindowHint);