基于TCP协议的局域网内高性能文件传输系统设计与实现

文章目录

    • Chat 分享目录
    • GitChat 分享地址
    • 系统演示


Chat 分享目录

基于TCP协议的局域网内高性能文件传输系统设计与实现_第1张图片


GitChat 分享地址

本篇主题我做了一次Chat分享,现在文章已经发布,链接如下:

https://gitbook.cn/gitchat/activity/5cecf4db71f35173c060c4c7

直接登录预订便可阅读文章,如下图。
基于TCP协议的局域网内高性能文件传输系统设计与实现_第2张图片


系统演示

我们首先启动客户端,以 root 用户身份登录(已经注册),然后进入系统主页面,可以通过输入 help 来查看命令帮助,然后我们可以通过 get 命令下载文件,put 命令上传文件,还可以使用各种文件操作命令,当服务器端已存储该文件信息后,再次 put 相同文件时,可以直接秒传。如下图:

我们以普通用户登录,同样可以通过输入 help 来查看命令帮助,然后我们可以通过 get 命令下载文件,put 命令上传文件等,当服务器端已存储该文件信息后,再次 put 相同文件时,可以直接秒传。但是普通用户不可以删除文件,也不可以查看服务器的进程信息,如下图:

接下来我们看一下系统的断点续传功能和下载条件控制功能演示,首先 zy 用户向服务器上传 master.mp4 视频文件,上传一半后客户端终止,因此服务器保存的是不完整的文件信息。
基于TCP协议的局域网内高性能文件传输系统设计与实现_第3张图片

接着 yb 用户登录,它要下载该文件系统显示文件不完整,不允许下载。
基于TCP协议的局域网内高性能文件传输系统设计与实现_第4张图片

之后 zy 用户再次登录系统,然后继续上传该文件,我们通过下图可以看到,之前的文件并没有重新传输,而是从断点处续传了。

接下来我们看一下用户管理的注册部分,注册时若用户名和已存在的用户名相同,则系统会给出提示要求重新注册,注册成功后,系统给出登录界面,用户可以进行登录操作进入系统。
基于TCP协议的局域网内高性能文件传输系统设计与实现_第5张图片

接下来我们演示一下大文件的传输和断点续传的过程,我们下面演示的示例传输文件 Ubuntu 是一个 2.3G 的大文件,为了演示大文件断点续传,我们在传输过程中故意切断客户端,如下图所示:

接下来我们重新登录并请求下载该文件,可以看到正在续传,如下图所示:
基于TCP协议的局域网内高性能文件传输系统设计与实现_第6张图片

经过一段时间的传输,文件传输完毕,我们可以通过 ls 命令查看服务器端的该文件的大小,与我们在客端打印的下载到本地的文件大小相同,说明我们成功将大文件进行了断点续传。

最后我们看一种情景,zy 用户上传 master.mp4 视频文件,没有上传完毕便退出了,如下图:

此时另一个用于 yb 也上传相同文件,那么由于他们不是同一用户,因此该文件必须重传而不能续传,如下图所示:

你可能感兴趣的:(Linux)