|
401楼
发表于 2021-1-2 20:47:00
|
只看该作者
青海省海南藏族自治州
《文件传输编程理论逻辑(单向传输)》
设A计算机为客户端,B为服务器
(连接方式、IP地址、端口号略)
1、A向B发送,[文件传输]|[请求]|文件名称|文件大小|文件MD5
2、B收到后记录文件大小、MD5,发送给A是否允许文件传输,[文件传输]|[请求]|文件名称|[允许]、[文件传输]|[请求]|文件名称|[拒绝]
3、若允许,A计算出待发送文件大小,单位是字节,以长整数型表示,为减轻CPU和内存的负担,大文件需要分包发送,首先计算一共需要发送的次数,读取字节段(第一个数据包发送需要打开文件,读入字节集,第二个以上需要移动指针读入指针后字节段)发送:[文件传输]|[发送]|文件名称|文件大小|发送次数|「真实数据」,B接收后分割,取出真实数据,看文件是否存在,若无,根据文件名称创建,打开文件并写到文件,若有,显示询问是否覆盖文件,移动指针至末尾,写到文件。
注意:当前次数达到总次数时,停止发送数据包,A显示发送完毕,B关闭文件检验md5并显示接受完毕。因32位操作系统的限制,接收文件最大支持写入4GB,超过4GB将无法写入。
4、根据临时保存的md5和对应文件路径,判断文件是否完整,并告知客户计算机A和服务器计算机B。以上就是文件传输的基本逻辑思维。
by.一水孤隐 for.子信科技
2017.12.9 |
|