zoukankan      html  css  js  c++  java
  • iOS 开发中网络连接处理

    //显示网络连接状态,即在状态栏上显示一个旋转图标
    UIApplication *app = [UIApplication sharedApplication];
    app.networkActivityIndicatorVisible = YES;

    1. 需要导入需要的框架 SystemConfiguration的框架

    2. 使用的头文件,包括所需要的网络处理相关的头文件

    #import <sys/socket.h>
    #import <netinet/in.h>
    #import <arpa/inet.h>
    #import <netdb.h>
    #import <SystemConfiguration/SCNetworkReachability.h>

    3.添加函数

    + (BOOL)connectionIsLink{

        struct sockaddr_in zeroAddress;
        bzero(&amp;zeroAddress, sizeof(zeroAddress));
        zeroAddress.sin_len = sizeof(zeroAddress);
        zeroAddress.sin_family = AF_INET;
     
        // Recover reachability flags
        SCNetworkReachabilityRef defaultRouteReachability = SCNetworkReachabilityCreateWithAddress(NULL, (struct sockaddr *)&amp;zeroAddress);
        SCNetworkReachabilityFlags flags;
     
        BOOL didRetrieveFlags = SCNetworkReachabilityGetFlags(defaultRouteReachability, &amp;flags);
        CFRelease(defaultRouteReachability);
     
        if (!didRetrieveFlags)
        {
            NSLog(@"Error. Could not recover network reachability flags");
            return NO;
        }
        BOOL isReachable = flags &amp; kSCNetworkFlagsReachable;
        BOOL needsConnection = flags &amp; kSCNetworkFlagsConnectionRequired;
        return (isReachable &amp;&amp; !needsConnection) ? YES : NO;

    }

  • 相关阅读:
    去除测序reads中的接头:adaptor
    Python学习_13_继承和元类
    Matplotlib初体验
    Python学习_12_方法和类定制
    python+requests接口自动化测试框架实例详解教程
    typeof与instanceof运算符
    闭包与递归函数的区别
    添加SSH
    AndroidStudio常用快捷键总结
    git新建分支
  • 原文地址:https://www.cnblogs.com/tony_cap/p/2427546.html
Copyright © 2011-2022 走看看