QT Group Chat
QT群聊简易聊天系统
来自:【QT实现群聊聊天系统】
1. 简介
QT 图形化工具
UI 设计
网络通信基本原理
UDP 协议
QT 编程
主要技术栈
主要是一个仿QQ的聊天软件,实现在单台设备上的交互通信功能。
使用的是UDP的不可靠传输
报文简短,传输效率高
UDP实现简单,不用关系太多的安全性复杂功能
建议实现一对一、一对多、多对一、多对多的传输
本项目采用的是多对多的,而非点到点的连接。
但会有如下缺点
安全性差,无序列号检查
无重传机制,无丢包检测
...等等
QT编程基础
涉及了UI界面的设计
QT编程的一些关键组件和组件关键字
还涉及到了Cmake构建工程的过程,虽然Qt将其封装得比较厉害,但是还是能看出个大概的
涉及到了一些文件流操作...等
总的来说是打下基础吧,Qt绝对不止这么简单,我也没到能脱离文档独立开发的地步,很多函数的参数和返回值还是记不太清楚
目的
一方面是为了实践巩固网络的知识,但是这一点单靠这里的实现我觉得不太够,后续可以考虑发展成为局域网内跨设备的 基于WebServer的聊天室,这里的项目展示仅仅基于B站老师讲的内容。
后续也许会进行后续开发
2. 项目开发
2.1. 两个界面
登录列表 和 聊天框
手撸的
2.2. 两个文件
2.2.1. login.cpp / .h
管理登录列表,主要是处理用户的上线操作,用户的名称和头像
2.2.2. widget.cpp / .h
聊天框
显示聊天内容
显示用户的登入登出
用户列表&处理区
显示在线的用户
显示在线人数
发送消息
退出群聊
文本框&功能区
可以发送消息,所有在线的群成员都能接收到
改变字体样式
改变字体大小
特殊字体:加粗/斜体/下划线/改变颜色
保存聊天框内聊天记录
清空聊天框内信息
主要界面和功能就是这些
3. 总结
项目很好的进行了一次Qt开发尝试,而且这个项目我后期有二次开发的想法。也很好拓展,具体时间后续再安排。也复习了一部分(虽然很少)的网络知识。开发周期在一天左右,但我拖了三天...前后穿插了一些别的事务...所以总体而且体验还是不错的,up 也有开源代码,点个赞。
Last updated