如何使用Objective C从服务器下载文件的速度

时间:2012-06-11 12:56:14

标签: iphone objective-c ios client-server asihttprequest

我正在从我的iOS应用程序中的服务器下载一些数据,现在我想知道下载数据的速度,becoz我想停止下载如果下载超过10分钟,我正在使用ASIHTTPRequest下载。如果下载过程花费超过10分钟,那么我想向用户发出一条消息,如果他/她想要的话可​​以停止该过程。 Plz建议我解决任何问题。

2 个答案:

答案 0 :(得分:2)

您可以使用简单的计时器计算下载的字节数。 (时钟()或你正在使用的任何东西)......

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

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

如果估计时间> 10分钟,然后停止。 (关闭插座或其他东西)

答案 1 :(得分:0)

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

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