2016-10-18 1 views
2

мне нужно, чтобы определить, если телефон подключен к Wi-Fi, который я могу выполнить с помощьюMeasure [в кбит] скорости интернета на мобильных (СВН)

if (status == ReachableViaWiFi) { 
     return @"Wifi"; 
    } else if (status == ReachableViaWWAN) 
    { 
    //connection type 
    CTTelephonyNetworkInfo *netinfo = [[CTTelephonyNetworkInfo alloc] init]; 

    if ([netinfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyGPRS]) { 
     return @"2G"; 
    } else if ([netinfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyEdge]) { 
     return @"2G"; 
    } else if ([netinfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyWCDMA]) { 
     return @"3G"; 
    } else if ([netinfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyHSDPA]) { 
     return @"3G"; 
    } else if ([netinfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyHSUPA]) { 
     return @"3G"; 
    } else if ([netinfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyCDMA1x]) { 
     return @"2G"; 
    } else if ([netinfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyCDMAEVDORev0]) { 
     return @"3G"; 
    } else if ([netinfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyCDMAEVDORevA]) { 
     return @"3G"; 
    } else if ([netinfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyCDMAEVDORevB]) { 
     return @"3G"; 
    } else if ([netinfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyeHRPD]) { 
     return @"3G"; 
    } else if ([netinfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyLTE]) { 
     return @"4G"; 
    } 
    } 

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

Предоставляет ли Apple любую библиотеку, чтобы получить скорость?

+0

Hey @Astha Gupta. вам нужна скорость загрузки или текущая скорость интернета? –

+1

Я просто искал разницу :) Я бы потребовал и то, и другое. –

+1

Эй - оба одинаковы: http://superuser.com/questions/89814/what-is-the-difference-between-bandwidth-and-download-speed, зависит от того, как мы это обозначим; Я всегда могу перейти к преобразованию байтов –

ответ

0
  1. Если вы знаете точную скорость загрузки, вам необходимо использовать подход, заявленный пользователями блога. I.e загружайте файл и записывайте время, затрачиваемое на загрузку, тем самым вычисляя скорость. нет каких-либо конкретных оснований для этого. используя

transfer_speed = bytes_transferred/time_required_for_transfer

вы можете получить скорость загрузки.

  1. Используя зная тип сети (2G, 3G, 4G и т. Д.), Вы можете указать определенную скорость для этого типа сети. но главная проблема заключается в том, что вы не получаете точной скорости.
+0

Можно ли, используя любой библиотечный метод, определить скорость интернета при подключении телефона к Wi-Fi? –

Смежные вопросы