TCP大作业——基于UDP的dos多人聊天室(可登录,注册,群聊,私聊)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lishang6257/article/details/79711361

前言

这学期正好有门TCP/IP 编程,乘机写了个dos下的聊天室,去年这个时候用Java写了个带GUI的多人聊天室,不过整体来看这次在对网络编程有了一定的理论基础后,这次用c++写的时候,那叫一个轻车熟路。写了多个版本的demo,在文章的最后会把demo更新描述。(对于Java版或者Demo有需要的可以在评论区回复)。

聊天室优点与可拓展功能

优点:

1.实现了基本的聊天功能,包括群聊与私聊
2.用户注册时使用文件做过渡,用户退出登陆时仍可保留用户信息
3.封装消息传递时格式,包括消息的生成与解析
4.友好的操作逻辑
5.多方位错误提醒

可拓展功能

1.本次由于要求,将客户端一分为二包括接收端和发送端,虽然减少了开多线程带来的工作量,但是使整个聊天室的一体性大打折扣,于是就可以在客户端开多线程去优化。
2.这聊天室限于其类型,只是通过文档来保存用户列表,但是可以使用数据库来增加用户量增大带来的问题
3.聊天室并不支持文件发送,可以考虑后期添加
4.聊天室未对多群组,好友关系留下拓展接口,这是考虑到文件操作的局限性,如果有需求,可以做两方面考量,第一是使用数据库建立好友关系,群组关系,用户表;第二修改消息格式,拓展对添加的群组选择拓展。

实测

登陆界面

这里写图片描述

注册

这里写图片描述

聊天

这里写图片描述

群聊

这里写图片描述

私聊

这里写图片描述

退出(左边为sender退出,右边为receiver退出)

这里写图片描述

编译环境

IDE : CodeBlocks 16.01
语言:C++
运行须知:需要添加链接库,才可以运行
这里写图片描述

后记

现附上代码,有空在补上内部实现的亮点与不足,有什么问题,可以随时私信。有空可以follow下博主的github(丑不要碧莲,有打广告).最后附上下载链接,喜欢点赞就行。(csdn必须要c币,github免费下载)

下载入口

csdn下载入口

github下载入口

猜你喜欢

转载自blog.csdn.net/lishang6257/article/details/79711361
今日推荐