作为我正在开发的应用程序中的一项功能,我需要显示将文件上传到服务器/从服务器下载文件的预计总剩余时间。
如何从客户端计算机获取到服务器的下载/上传速度。
我认为如果我能够获得速度,那么我可以通过 --> 来计算时间
for example ---for a 200 Mb file = 200(1024 kb) = 204800 kb and divide it by 204800 Mb / speed Kb/s = "x" seconds
最佳答案
上传/下载速度不是服务器的静态属性,它取决于您的特定连接,也可能随时间变化。我见过的大多数应用程序都会在很短的时间窗口内进行估算。这意味着他们开始下载/上传并测量超过 10 秒的数据量。然后将其作为当前传输速度并用于计算剩余时间(例如 2500kB/10s -> 250Kb/s)。时间窗口不断移动并重新计算,以保持计算准确到当前速度。
虽然这是一种非常基本的方法,但在大多数情况下都能很好地发挥作用。
关于C# - 使用网络带宽计算下载/上传时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1587333/