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;

    }

  • 相关阅读:
    javascript之面向对象学习笔记03
    javascript之面向对象学习笔记02
    javascript之面向对象学习笔记01
    记第一次用Linux搭建LAMP环境
    C#随机数
    Android简单的TXT文件存储
    关于Android的ListView一点使用方法
    Android与C#的socket通讯
    Android调用WebService
    并发编程之进程、线程、同步锁 -1
  • 原文地址:https://www.cnblogs.com/tony_cap/p/2427546.html
Copyright © 2011-2022 走看看