Intereting Posts
UIView на UIWebView backgroundColor не изменяется Должен ли я включать или отключать перевернутое в моем приложении iOS? Невозможно установить размер изображения при захвате изображения с помощью AVFoundation Как узнать, что было сделано в секции заголовка UITableView? Внутренний угол рамы CALayer didBeginContact не вызывается Swift – индикатор раскрытия информации для конкретной ячейки в статическом TableView Связывание OAuthConsumer с проектом Xcode iPhone – различать уведомления UIApplicationDidBecomeActiveNotification Как сохранить позицию / порядок UITabBarItems после переупорядочения Как рисовать тысячи квадратов с glkit, opengl es2? Фоновая задача удаленного уведомления приостановлена ​​через некоторое время Olympus Camera Kit: приложение выходит, когда оно рисует рамку обнаружения лица в режиме просмотра в реальном времени получать значение из NSBlockOperation? Изменение цвета панели вкладок и навигационной панели

Можно ли измерять потерю пакетов в приложении iOS?

Я создаю часть приложения, которое потребует от пользователя загрузки файлов разного размера. В настоящее время я использую код Apple Reachability, чтобы сообщить мне, есть ли у меня соединение.
( http://developer.apple.com/library/ios/#samplecode/Reachability/Introduction/Intro.html )

Хотя код достижимости может отслеживать «наличие соединения», он не имеет возможности сообщить мне об ухудшающемся соединении. Казалось бы, мне нужно расширить функциональность кода Apple для удовлетворения моих требований. Можно ли измерить количество или процент отбрасываемых пакетов во время передачи данных? Это было бы полезно, чтобы я мог сообщить пользователю и приостановить или остановить загрузку.

Нет API-интерфейса iOS, который заходит глубоко в сетевой стек, который сообщает вам, когда и почему пакеты отбрасываются. Он может быть сброшен на маршрутизаторе или может быть удален локально из-за ошибки контрольной суммы.

Каковы данные? Я принимаю TCP. Вы могли бы определить качество соединения, изучив пропускную способность. Вы можете подсчитать, сколько байтов вы получаете в секунду.

TCP имеет что-то, что называется контролем перегрузки, а конечные хосты (устройства iOS) будут дросселировать свою пропускную способность, поскольку пакеты отбрасываются и исчезают. Таким образом, пропускная способность может коррелировать с качеством сети. Тем не менее, ваша пропускная способность может варьироваться по многим причинам, таким как перегрузка сети, формирование пакетов, QoS и т. Д.

iOS не имеет публичного API для контроля уровня сигнала Wi-Fi . Существует частный API, но ваше приложение не будет одобрено в магазине приложений, если вы используете частный API.