2017-09-27 8 views

답변

0

두 단계가 있습니다. 먼저 어떤 유형의 네트워크인지 확인하십시오. 초는 대역폭입니다. 아래의 두 가지 기능을 통해 각 작업을 수행 할 수 있습니다.

이 기능은 현재 사용중인 네트워크를 식별하는 데 사용됩니다.

enum ReachabilityType: CustomStringConvertible { 
case wwan 
case wiFi 
var description: String { 
    switch self { 
    case .wwan: return "WWAN" 
    case .wiFi: return "WiFi" 
    } 
} 

}

이 기능은 대역폭 속도를 얻을 수 있습니다.

func bandWidthCheck() { 
let sample = URL(string: "http:exampleURL") 
let request = URLRequest(url: sample!) 
let session = URLSession.shared 
let startTime = Date() 
let task = session.dataTask(with: request) { (data, resp, error) in 
    guard error == nil && data != nil else{ 
     print("connection error or data is nill") 
     return 
    } 
    guard resp != nil else{ 
     print("response is nill") 
     return 
    } 
    let size = CGFloat((resp?.expectedContentLength)!)/1000000.0 
    print(size) 

    let time = CGFloat(Date().timeIntervalSince(startTime)) 
    print("elapsed: \(time)") 
    print("Speed: \(size/time) Mb/sec") 
} 
task.resume() 

}