吉林大学大二上学期课程设计,要求学生制作一款即时通讯软件。虽然老师的要求是熟练运用类和对象的思想设计软件,但是我个人认为,这是一个锻炼自己综合能力的好机会,如果你想用心制作的话,你可能会学习到网站的搭建,服务器的部署,sql的使用,tcp通信协议的使用,内网穿透的使用,以及qt的样式表,控件,信号和槽等等新的内容和概念。
废话不多说,我们来介绍软件。本软件在github上已经开源。
软件分为服务端和用户端,admin文件夹中存储了服务器的账号和密码。由于服务器的部署需要用到内网穿透的思想,想要部署的朋友们请自行购买隧道,然后在tim的address.h中,更改对应的映射端口。隧道列表 | Sahttps://www.natfrp.com/tunnel/
服务器端使用的数据库和文件存储用户信息,不存储通话内容。登录采用了MD5
加密,提高破解难度。数据库还有搜索数据的功能,给使用者极大的便利。服务端也采用了qt进行了美化设计。
用户端嵌入了第三方库,qrencode,生成官网的二维码。也可以到对应的函数中做出改变。客户端可以实现用户通过服务器进行数据库中转进行聊天。有搜索好友,发送申请,添加好友,发送消息,修改信息,修改密码,注册,登录,找回密码,更改远端地址,等功能,磁贴拖动特效,滑动特效,高斯模糊特效等特效。废话不多说,直接上图。