项目练习
项目练习
落英神剑碧海潮生
桃花影落飞神剑,碧海潮生按玉箫
展开
-
【多文件自平衡云传输 完结】网速监控
接上篇【多文件自平衡云传输 五】可视化界面---显示进度条在做好了界面之后,再实现一个可以监控传输速率的功能。能够将速率动态地显示在界面上。 需要显示什么格式? 介于网络传输都是以字节(B)为单位的。但是如果此刻传输的数据很大时这个值为很大,效果就不好。所以第一步需要一个能将字节(B)转换为KB,MB,GB,而且可以自己指定中/英文格式的工具。这个工具只做一件事,就是转换单位获取带单位的字符串。 比如:678---->678B, 1024--->1.00KB。具体代码如下: pu..原创 2020-08-07 17:02:48 · 121 阅读 · 0 评论 -
【多文件自平衡云传输 一】项目概述
场景介绍 很多时候我们会由于各种原因无法去教室上课,所以每个老师都会将自己的课程录制下来,以供没到课的同学补课。补课的人一定是这样做的:打开视频App,选择缺课的那节视频,播放。但是视频属于教学内部资料,有的老师是不会将其永久存储在客户端的,他会存于服务器获这其他外存地方。那么在看视频时就需要获取这节课的视频文件。抛开老师和学生,站在客户端和服务器端的角度来讲。客户端点击视频名称,向服务器发送请求,服务器向其发送mp4文件。基本的流程是这样的。但是基于这样一种情况:可能有一次需要补课的人很多,而且假设他们原创 2020-08-06 23:46:34 · 329 阅读 · 0 评论 -
【多文件自平衡云传输 五】可视化界面---显示进度条
接上篇【多文件自平衡云传输 四】断点续传其实所有核心功能已经完成了。现在需要我想要做一个界面让我可以直观的看到其接收的内容,进度。基本想法是,让外部想要获取多文件资源时会启动接收端服务器,我想在启动接收端服务器的过程中显示进度条界面。当接收完毕(也即接收端成功拥有该资源)时关闭进度条。 实现一个什么样的进度条?需要什么数据支持? 用进度条来显示某个文件的接收进度。所以最基本我需要明确一个文件的大小。这个数据是动态显示进度的基础,当然还需要明确某一个文件每次写的片段为多大,这两个量决定了进度条的动态增长。原创 2020-08-06 23:49:11 · 271 阅读 · 0 评论 -
【多文件自平衡云传输 四】断点续传
接上篇【多文件自平衡云传输 三】发送端接收端收发多文件&资源发现完成了多文件收发之后。需要考虑的是断点续传问题。 何时产生断点 发送端掉线:在发送端正在发送数据的时候,也即与服务器通信的时候,如果此时发送端掉线,那么肯定的为该发送端分配的发送任务一定是不能完成,也即接收端接收的数据不完整。这就导致产生断点。 接收端掉线:接收端接收数据的时候掉线,导致接收数据不完整。这种断点的解决方案:在接收端每次接收到某个文件片段时,将该片段信息记录到外存,可以使用log4j,然后下一次启动,第一次接收时从外原创 2020-08-06 23:48:46 · 281 阅读 · 0 评论 -
【多文件自平衡云传输 三】发送端接收端收发多文件&资源发现
接上篇【多文件自平衡云传输 二】网络收发文件片段&文件片段读写准备好操作文件片段和文件读写的工具之后。现在需要考虑多文件问题,上篇测试示例中只是处理了单个文件的分片收发,而且是一个发送端对一个接收端。现在需要结合之前准备好的资源发现的一套工具来处理多文件问题,并实现多个发送端同时给一个接收端发送文件。 什么是资源? 在多文件收发的角度来看,“多文件信息”就是一个资源。 如何结合资源发现,各自扮演什么角色? 资源持有者:也就是拥有这套文件资源的一端。也即他们负责发送文件。 资源请求者:也就原创 2020-08-06 23:47:54 · 405 阅读 · 0 评论 -
【多文件自平衡云传输 二】网络收发文件片段&文件片段读写
文件片段的定义:多文件收发的过程中,要精准的接收到一个文件片段,需要三个基本标识:该片段属于哪个文件(文件编号)、该片段在源文件中的偏移量、该片段的长度。这三个合起来才可以准确的标识一个文件片段的基本信息。暂且将其称为元信息。初次之外,肯定必须还需要有片段的真实内容。即二进制数据。发送端要发送一个片段总得先让接收端知道这个文件的元信息吧,总不能盲目地接收。所以接受端首先要接收的就是文件片段的元信息。鉴于网络上只能收发二进制字节。故需要有一个将元信息解析转换为二进制字节数组的工具:MecBinary 基于上原创 2020-08-06 23:47:11 · 365 阅读 · 0 评论