Intereting Posts
UITableView не обновляет метки для изменений динамического типа Полноэкранные объявления на iPhone Как NSJSONSerializer определяет кодировку данных? Xcode 4.3 – сделать архив для специального тестирования неработоспособным Почему Autolayout не дает последовательных результатов? swift ios добавляет элементы в массив Кнопка UINavigationController с центрированием с использованием obj-c События ложного вращения при переключении задач в ios 11 Панель прокрутки iOS UITableView идет под заголовком таблицы при прокрутке Фоновое изображение слишком велико в окне / представлении Каков правильный способ кэширования SKScene? Клавиатура скрывает UITextView, когда он появляется Как сохранить UICollectionView всегда внизу, в то время как новые данные вставляются в хранилище основных данных Есть ли способ сохранить связь в iOS? NSMutableArray viewControllers, не освобождающий память об объектах

Можно ли измерять потерю пакетов в приложении 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.