diff --git a/README.md b/README.md index 577f1d8..7a7c097 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,41 @@ # WangWangChat -聊天程序,实现了一些基本功能,欢迎大家修改、指正。 -###### 客户端:Qtc++ -###### 服务端:C++/C -###### 数据库:Mysql -###### 基本实现了注册、登陆、聊天等业务,注册登陆后回添加两个默认好友,第一个为测试无用,第二个kid为作者本人。目前存在有时收到消息聊天窗口无法自动 弹开等问题。 -###### client/demo3为客户端源码 -###### server/demo0为服务端源码 -###### demoClientRelease为编译好的客户端,可直接下载解压然后点击WangWangchat.exe运行(windows) -###### 注:由于客户端是在Linux下做的,当时看起来圆角的还不错挺好看,结果放到windows下一编译发现巨丑,后面有时间会继续完善,博客中记录了部分过程https://blog.csdn.net/qq_35987486/article/details/92732922 +### 项目简介 +基于C++的聊天软件。包括PC客户端、Linux服务端。服务端可同时向多个客户端提供服务。客户端包括注册、登陆、好友/群列表展示、群聊、私聊等基本功能。本仓库包括:客户端源码、服务端源码、数据协议、客户端发行版、客户端流程图、服务端流程图以及开发日志 + +### 主要技术 + +服务端:使用epoll实现I/O复用从而为多客户端提供服务。同时使用MySQL类内嵌SQL语句从而实现对数据库的访问。 + +客户端:使用Qt开发,使用QTcpSocket类实现与服务端通信,使用QWidget、QGroupBox与QToolButton实现类似QQ好友列表 + +数据库:通过建立用户基本信息user_info、好友关系friend、群组关系group、群组基本信息group_info四张表实现对用户信息的存储、组织。 + +### 开发环境 + +- 客户端: Windows + Qt5 +- 服务端:Linux + C++ +- 数据库: MySQL8.0 +- 数据交互协议:自定(具体见文档) + +### 效果展示 + +登陆界面: + +![1577110794905](C:\Users\98230\AppData\Roaming\Typora\typora-user-images\1577110794905.png) + +注册界面: + +![1577110899465](C:\Users\98230\AppData\Roaming\Typora\typora-user-images\1577110899465.png) + +主界面: + +![1577111020223](C:\Users\98230\AppData\Roaming\Typora\typora-user-images\1577111020223.png) + +私聊: + +![1577111135330](C:\Users\98230\AppData\Roaming\Typora\typora-user-images\1577111135330.png) + +群聊: + +![1577111380041](C:\Users\98230\AppData\Roaming\Typora\typora-user-images\1577111380041.png) \ No newline at end of file