【问题标题】:Bandwidth throttling in objective c (Limit NSURLConnection data rate)目标 c 中的带宽限制(限制 NSURLConnection 数据速率)
【发布时间】:2016-08-26 11:46:34
【问题描述】:

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

【问题讨论】:

  • 我在我的应用程序中遇到了同样的问题,请分享任何对此问题的答案

标签: objective-c cocoa nsurlconnection bandwidth-throttling


【解决方案1】:

问题是工作发生在不同的线程上。

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

请注意,如果您走这条路,如果您需要在 iOS 上执行此操作,您还需要至少偶尔使用 NSURLConnection 或 NSURLSession 发出简短的高级请求,以保持蜂窝无线电保持清醒。

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

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

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

【讨论】:

  • 这个答案帮助了我
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-27
  • 1970-01-01
  • 2021-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多