Определить скорость в Интернете программно

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

Как определить скорость в Интернете программно?

Если вы используете NSURLConnection для захвата большого файла (скажем, 1 МБ или более), вы можете использовать делегат для отслеживания промежуточного хода загрузки.

В частности: если вы измеряете разницу в загруженных байтах и ​​разницу во времени между вызовами делегата, вы можете рассчитать текущую скорость в байтах в секунду (или другую единицу времени).

Шаг 1: Возьмите загружаемый файл url и настройте его с помощью NSURLSession и его метода dataTaskWithUrl .

Шаг 2. Интеграция NSURLSessionDelegate, NSURLSessionDataDelegate в ваш controller.

Шаг 3: Возьмите две переменные CFAbsoluteTime которые хранят starTime и назначают CFAbsoluteTimeGetCurrent() и второй stopTime в didReceiveData: Delegate.

Шаг 4: Скорость счета как это

  CFAbsoluteTime elapsedTime = stopTime - startTime; float speedOfConnection = elapsedTime != 0 ? [data length] / (stopTime - startTime) / 1024.0 / 1024.0 : -1; 
  • Основной ключ первичных данных
  • как увеличить размер шрифта в UIWebView
  • «Неверный» размер кадра / windows после переориентации в iPhone
  • Как рассчитать размер папки?
  • Отправить почту без MFMailComposeViewController
  • Светло-серый фон в области «отскока» UITableView
  • Рисование поэтапно в UIView (iPhone)
  • Как программно изменить оттенок UIImage?
  • Как программно воспринимать переключатель отключения звука iPhone?
  • Библиотека CoverFlow с открытым исходным кодом для iPhone
  • HTML5 Video tag не работает в Safari, iPhone и iPad
  • Interesting Posts

    Ошибки FFMPEG: «max_analyze_duration» «переполнение буфера» «слишком большой пакет» Что делать?

    ASP.NET MVC Html.ValidationSummary (true) не отображает ошибки модели

    Неожиданный порядок оценки (ошибка компилятора?)

    Получение ошибки из push-уведомления

    Как я могу вызвать New-Object для конструктора, который принимает один параметр массива?

    Перекрытие просмотров в Android

    Как получить plist как словарь в Swift?

    Перенаправление URL-адреса в расширение хром

    как я могу обнаружить клавиши со стрелками в java-консоли, а не в графическом интерфейсе?

    Продвижение аргументов по умолчанию в вызовах функций C

    Как использовать совместное использование совместного использования изображений для совместного использования изображений в Android?

    Как генерируется общая ковариация и контра-дисперсия в C # 4.0?

    MacOS продолжает задавать мою кодовую фразу ssh, так как я обновляюсь до Sierra

    Можно ли сохранить порядок столбцов с помощью csv.DictReader?

    Программное обеспечение для будильника, которое может включить компьютер?

    Давайте будем гением компьютера.