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++服务器开发项目打下基础。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值