linux C++聊天室项目(3)完结撒花

最后实现功能

1.文件上传和下载以及查看服务器可下载文件(利用多线程)

2.tcp分包粘包问题

具体代码已经全部上传至github

链接:虫虫聊天室
 

总结:

实现功能

1.登陆/注册/注销账号

2.文件上传和下载

3.公聊和私聊

4.识别txt文件编码自动转换为GB2312,windows系统可上传下载

5.可挂载在云服务器,实现局域网和远程通信

实现方法

1.利用epoll模型,搭建基本通信框架

2.利用linux c++连接mysql数据库,进行增删查改实现用户登陆/注册/注销账号

3.封装recvMsg和sendMsg函数,发送数据格式为数据大小+数据内容,解决tcp分包粘包问题

4.c++调用shell脚本,实现识别txt文件编码自动转换为GB2312

5.服务端文件上传下载利用多线程实现,防止阻塞

碎碎念:

拿了快手测开offer后,在学校里突发奇想想做个webserver,但是网络编程我是一点也没学过就先学着做一个聊天室,书上的理论学了很多,但是实际开发却没接触过。因此开始现学c++ socket编程+多线程编程,然后一点点搭建框架开发,一点点完善再测试,虽然聊天室很简单,总开发时间也只有5天左右(头发要掉光光了55555),但算是一个c++网络编程起步练习,学到了很多东西。千里之行始于足下,下一步是研读那本非常经典的《 Linux多线程服务端编程:使用muduo C++网络库 》精进自己c++服务器编码水平,为之后做c++服务器开发项目打下基础。

猜你喜欢

转载自blog.csdn.net/qq_30798083/article/details/131154617