获取网络状态
2011-10-10 16:20
363 查看
#import <SystemConfiguration/SystemConfiguration.h> #import <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <arpa/inet.h> /********************************************************************** 函数名称 : getNetworkState 函数描述 : 获取网络状态,可根据实际情况进行扩充,此处仅判断网络是否可用 输入参数 : N/A 输出参数 : N/A 返回值 : -1:错误(网络状态无法判断) 0:网络中断 1:网络正常 **********************************************************************/ + (int)getNetworkState { struct sockaddr_in zeroAddress; bzero(&zeroAddress, sizeof(zeroAddress)); zeroAddress.sin_len = sizeof(zeroAddress); zeroAddress.sin_family = AF_INET; // 以下objc相关函数、类型需要添加System Configuration 框架 // 用0.0.0.0来判断本机网络状态 SCNetworkReachabilityRef defaultRouteReachability = SCNetworkReachabilityCreateWithAddress(NULL, (struct sockaddr*)&zeroAddress); SCNetworkReachabilityFlags flags; BOOL didRetrieveFlags = SCNetworkReachabilityGetFlags(defaultRouteReachability,&flags); CFRelease(defaultRouteReachability); if (!didRetrieveFlags) { return -1; } BOOL isReachable = flags & kSCNetworkFlagsReachable; BOOL needsConnection = flags & kSCNetworkFlagsConnectionRequired; return (isReachable && !needsConnection) ? 1 : 0; }
相关文章推荐
- ios获取当前的网络状态, 获取当前连接的wifi名字
- 获取手机的网络状态
- Android获取当前的网络连接信息和网络链接状态 GPRS 和 WiFi网络
- linux 下获取当前网络连接状态的两种方法
- iOS7 以下获取网络状态
- ios如何获取手机的网络状态和运营商名称
- Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面
- 获取网络状态
- ios获取网络状态
- ios如何获取手机的网络状态和运营商名称
- iOS 获取网络状态 判断3G 、4G类型
- android 获取网络状态和设置网络
- Android安卓获取网络状态
- iOS用来获取设备上的网络状态(2G,3G,WIFI...)
- 微信开发 Weixin JS接口 网页获取用户网络状态
- [第三方]SCNetworkReachability 获取网络状态控件使用方法
- Android开发中对于适时进行网络状态的获取
- Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面
- iOS开发之runtime的运用-获取当前网络状态
- Android-->分享工具类:判断网络状态,网络类型,获取网络IP(包括GSM IP)