0

我正在我的 iOS 应用程序中从服务器下载一些数据,现在我想知道下载数据的速度,因为如果下载时间超过 10 分钟,我想停止下载,我正在使用 ASIHTTPRequest 进行下载。如果下载过程需要超过 10 分钟,那么我想给用户一个消息,如果他/她想要,可以停止该过程。请建议我任何解决方案。

4

2 回答 2

2

通过使用一个简单的计时器,您已经可以计算下载了多少字节。(clock() 或你正在使用的任何东西)......

这为您提供了下载数据的滑动速率......字节差异/时间差异......

现在,使用要下载的剩余字节数,估计时间 = 剩余字节数/上面计算的速率。

如果估计时间 > 10 分钟,则停止。(关闭插座什么的)

于 2012-06-11T12:59:43.190 回答
0

@Karthik Ku​​mar Viswanathan 的解决方案应该有效,但我想补充一点,如果您要向用户显示下载速度,则在计算速度时可能只使用过去几秒钟传输的数据。否则你会遇到“平均”速度的问题;例如,如果连接以 50 kbps 的速度下载 10 秒,然后以 0 kbps 的速度下载 10 秒,那么当我们知道它在 10 秒内没有下载任何数据时,它将显示它在这 20 秒结束时以 25 kbps 的速度下载秒。

显然,如果您只是为了自己使用而计算这个,那么平均速度会更合适。

于 2012-06-11T13:23:41.520 回答