NSURLSession ограничение полосы пропускания
Есть ли способ ограничить пропускную способность в NSURLSession?
Я делаю файл-клиент синхронизации для MacOS, как Dropbox/GoogleDrive/pCloud
и все они имеют параметры ограничения пропускной способности, но я не уверен, как настроить NSURLSession для соблюдения ограничения пропускной способности.
2 ответа
Если Apple не добавила что-то совсем недавно, NSURLSession не предоставляет средств для ограничения пропускной способности. Я знаю только о том, как это сделать:
- Используйте API-интерфейсы более низкого уровня, которые позволяют вам предоставлять собственные сокеты, а затем регулировать скорость передачи данных на уровне сокетов TCP.
- Предоставьте веб-прокси в приложении и используйте его для всех исходящих запросов. Настройте прокси для ограничения пропускной способности всех запросов, которые проходят через него.
Похоже, функции ASIHTTPRequest Bandwidth throttling support
, Хотя это может быть старая библиотека, из того, что я вижу, она по-прежнему полностью функциональна, поэтому ее стоит изучить.
Конечно, используя ASIHTTPRequest
потребует отказа NSURLSession
для этого.