项目概述:实现了一个无中心服务器的轻量级局域网聊天室,支持公共聊天、私聊、文件传输、用户列表动态更新、富文本消息、天气查询等功能,采用 UDP 广播作为主要通信方式,TCP 保障文件可靠传输。
核心职责:
设计并实现基于 UDP 的通信协议,支持文本消息、用户加入/退出通知、私聊标识、文件传输请求等多种消息类型;
使用 QUdpSocket 实现广播消息的发送与接收,并结合多线程优化消息处理,保证界面流畅;
开发用户登录模块,通过本机 IP 和自定义昵称标识用户,利用 QTableWidget 实时展示在线用户列表(隐藏 IP 列);
实现独立私聊窗口,采用独立 UDP 端口(如 45459)进行一对一通信;
基于 QTcpServer 和 QTcpSocket 完成文件传输模块,支持发送/接收请求、进度提示、拒绝机制;
集成 HTTP 天气查询功能,使用 QNetworkAccessManager 获取并解析 JSON 数据;
严格遵守代码规范:内存申请释放配对、指针置空、函数单一职责、变量命名自明、关键代码添加注释。