美文网首页
iOS开发中网络状态检测及测速

iOS开发中网络状态检测及测速

作者: Leoeoo | 来源:发表于2022-12-20 12:26 被阅读0次

    一、网络状态检测

    使用苹果官方的库:Reachability。

    二、测速

    使用苹果官方的库:SimplePing。

    三、域名解析

    最好在子线程执行,如果传入的是ip,会原样返回。

    #include <netdb.h>
    #include <arpa/inet.h>
    
    - (NSString *)getIPWithHostName:(NSString *)hostName {
        const char *hostN = [hostName UTF8String];
        struct hostent* phot;
        @try {
            phot = gethostbyname(hostN);
        }
        @catch (NSException *exception) {
            return nil;
        }
        if (!phot) {
            return nil;
        }
        struct in_addr ip_addr;
        memcpy(&ip_addr, phot->h_addr_list[0], 4);
        char ip[20] = {0};
        inet_ntop(AF_INET, &ip_addr, ip, sizeof(ip));
        NSString *strIPAddress = [NSString stringWithUTF8String:ip];
        return strIPAddress;
    }
    

    调用示例:

    [self getIPWithHostName:@"www.baidu.com"];
    

    相关文章

      网友评论

          本文标题:iOS开发中网络状态检测及测速

          本文链接:https://www.haomeiwen.com/subject/gbyliltx.html