PureChatServer,聊天软件服务器端


  自己瞎写的,比较简单粗陋的。

代码:https://github.com/Frankgbg/PureChatServer

介绍:Qt Creator开发。所有服务请求采用TCPsocket,包括登陆验证。

主要结构:

1、一个PureChatServer : QWidget视图界面:服务器的开启和关闭以及显示一些信息;
2、一个ServerSocket : QTcpServer,监听端口,接受一个新连接就创建一个ClientSocket : QTcpSocket 服务;
3、ClientSocket : QTcpSocket 与客户端的连接,服务;
4、DatabaseOperator 进行数据库操作。

PureChatServer,聊天软件服务器端_第1张图片

主要功能:

1、注册账号。
2、登陆验证。
3、查找、添加、删除好友及群,创建群聊。
4、修改个人信息,修改群昵称。
5、好友以及群内聊天。
6、头像功能更新。

功能详细介绍:

1、昵称和密码注册到账号,账号是按序注册的。
2、账号是否存在,密码是否正确,是否已登陆提示。
3、好友以及群都是双向添加、删除。无需同意(简单版)。昵称注册到群账号,账号按序注册。自由出入群聊,群内人人平等(无需考虑其他,实现简单。哈哈)。
4、修改个人昵称,签名,密码,可见信息未及时更新给好友;修改群昵称,群内成员皆可修改,及时更新给所有群内成员。
5、好友以及群内在线,离线聊天,无聊天记录功能。
6、个人头像修改和群头像修改。

缺点及不足:

1、数据库只用了个人账号,群号,好友关系,个人与群关系四张表。未考虑数据量大的情况,如数据库记录多,影响查表性能。
解决方法:可以用树型结构文件夹形式分开保存,检索;或者hash映射到不同文件,降低一次查表时间。
2、群内成员在每次打开群聊或者接收离线消息时都会传送一遍,重复。
解决方法:在客户端保存群聊成员基本信息,有变动及时更新。
3、还有一些类似上一点的功能性问题,我是方便着来的。
4、当然肯定还有很多写法或者设计上存在问题。勿喷。
5、整个项目都是用了简单的方法,比如离线消息是存在了id.txt文本里的等。


ServerSocket和ClientSocket结构是参考的。忘了留网址了,有机会再看到一定补上,抱歉抱歉

除了此结构,内容均本人所写。这两天有空再写客户端博客以及上传代码,还是等写客户端博客再一并传代码吧。

你可能感兴趣的:(聊天软件开发,qt,c++)