文章目录
前言
项目描述
类似于百度网盘,在linux环境在,使用的C语言
功能有: 1、注册
2、登录
3、文件列表(每个用户有不同的文件列表)
4、上传文件
5、下载文件
6、历史记录
7、退出
项目效果
项目实现步骤
一、准备工作
1.linux下socket编程 2.多线程并发服务器3.文件I/O,数据库,多进程
使用了TCP协议 ;分为客户端和服务器端 PS:用TCP的原因是考虑数据的可靠性,防止数据在传输过程中出错
客户端:完成界面和网络通信交互
服务器端:文件储存,文件分组,用户管理,历史记录管理
备注:UDP和TCP的区别
1)TCP是可靠的传输协议(TCP在通信前要进行连接,同时传输过程中要进行效验,如果数据出错则重传)
2)UDP不可靠,既不连接,也不重传
3)TCP适合在网络环境不好(Internet网,需要多次转发),传输数据量小
4)UDP适合在局域网中传输,数据量大的文件也可以用UDP
5)UDP传输的快,TCP比较慢(传输过程中检验,重传)
TCP服务器端流程
1)创建socket (指定SOCK_STREAM)
2)bind绑定本地IP地址和端口号
3)listen阻塞设置最大同时连接数
4)accept等待客户端链接
5)recv接收数据
6) send 发送数据
7)close 关闭socket
支持多客户端同时传输文件
未完待续。。。。。。。。。。。。有时间在整理一下
二、头文件