目标c中的带宽限制(限制NSURLConnection数据速率)

时间:2016-08-26 11:46:34

标签: objective-c cocoa nsurlconnection bandwidth-throttling

我想降低我的mac os x应用程序的数据速率(Bandwidth throttling) 我已经尝试在- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data方法中进行睡眠,但这对我没有帮助 我也在检查这个问题 Limit NSURLConnection data rate? (Bandwidth throttling)
但这对我没有帮助 是否有其他方法可以在目标c中实现带宽限制

1 个答案:

答案 0 :(得分:1)

问题是工作正在另一个线程上进行。

如果你真的需要进行带宽限制,那么只有一种方法可以做到,那就是自己管理套接字连接。这基本上意味着要么编写自己的HTTP请求类,要么使用libcurl。

请注意,如果您沿着这条路走下去,如果您需要在iOS上执行此操作,您还需要至少偶尔通过NSURLConnection或NSURLSession发出短暂的高级请求,以保持蜂窝无线电的清醒。 / p>

您也可以通过在应用中嵌入HTTP代理库,使用NSURLSession而不是NSURLConnection进行限制,并将其配置为通过该代理发送所有请求,然后修改代理代码以限制代理速度。从套接字读取数据。

这些方法都不适合胆小的人。

或者如果您不关心应用程序本身是否进行限制,您可以考虑使用多种带宽整形工具(例如网络链接调节器)。