Linux socket编程之简单的文件操作

本文介绍了基于TCP协议的文件传输功能。包括文件上传,客户端连接服务器后发送文件信息,服务器接收成功后进行数据收发;文件下载,客户端指定类型,服务器返回文件名,客户端挑选后进行数据收发;文件续传,异常断开时记录数据,下次继续操作;文件暂停与终止,客户端可控制暂停和恢复。

说明:使用的是TCP协议
1、关于文件上传
上传指的是由客户端传递文件给服务器端,客户端连接上服务器后,发送需要上传的文件信息:例如文件大小,名称等,服务器端收到后,返回接收成功,而后可进行文件数据的收发;
2、关于文件下载
下载是指有客户端指定需要下载的文件类型,通知客户端,客户端接收后,读取指定的下载目录,并返回符合类型的所有文件名,客户端从这些文件名中挑选出需要下载的文件并通知客户端,服务器端收到后,发送需要下载的文件信息给客户端,客户端收到后,返回接收成功,而后可进行文件数据的收发;
3、关于文件的续传
文件续传指的是在接收或发送文件数据时,客户端异常断开,导致接收未完成,此时服务器端检测到客户端断开后,将已经传输的数据总和和文件名记录在记录文件中,等待下次操作。若上传或下载操作检测到当前传输的文件有历史纪录,将会读取历史纪录,根据历史纪录的数据对文件继续操作;
4、关于文件的暂停与终止暂停
暂停是指在传输过程中客户端要求暂停,此时停止数据传输,由客户端取消暂停状态继续进行文件传输。可在客户端中卡一个控制线程,在控制线程中捕获规定的停止信号,再加一个全局变量,由信号被捕获的次数控制全局变量值的变化,而全局变量指的变化控制文件是否暂停传输。当需要暂停传输时,可用while循环做阻塞。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值