我们如何支持IPV6的可达性

时间:2016-09-22 06:37:19

标签: ios iphone swift ipv6 reachability

我正在使用此代码检查互联网连接。我在IPV6中为suppourt做了哪些改变。请帮助任何帮助将不胜感激。

 public enum ReachabilityType {
        case WWAN,
        WiFi,
        NotConnected
    }
    public class Reachability: NSObject {
        class func isConnectedToNetwork() -> Bool {
            var zeroAddress = sockaddr_in()
            zeroAddress.sin_len = UInt8(sizeofValue(zeroAddress))
            zeroAddress.sin_family = sa_family_t(AF_INET)
            let defaultRouteReachability = withUnsafePointer(&zeroAddress) {
                SCNetworkReachabilityCreateWithAddress(nil, UnsafePointer($0))
            }
            var flags = SCNetworkReachabilityFlags()
            if !SCNetworkReachabilityGetFlags(defaultRouteReachability!, &flags) {
                return false
            }
            let isReachable = (flags.rawValue & UInt32(kSCNetworkFlagsReachable)) != 0
            let needsConnection = (flags.rawValue & UInt32(kSCNetworkFlagsConnectionRequired)) != 0
            return (isReachable && !needsConnection)
        }
    }

0 个答案:

没有答案