网络编程练习 -- 检测网络状态

LWTViewController.m

//
//  LWTViewController.m
//  网络编程练习 -- 检测网络状态
//
//  Created by apple on 14-7-2.
//  Copyright (c) 2014年 lwt. All rights reserved.
//

#import "LWTViewController.h"
#import "Reachability.h"

@interface LWTViewController ()
@property (nonatomic, strong) Reachability *wann;
@end

@implementation LWTViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(networkStateChange) name:kReachabilityChangedNotification object:nil];

    self.wann = [Reachability reachabilityForInternetConnection];

    [self.wann startNotifier];

}

- (void)dealloc
{
    [self.wann stopNotifier];
    [[NSNotificationCenter defaultCenter] removeObserver:self];
}

- (void)networkStateChange
{
    // 1.检测wifi状态
    Reachability *wifi = [Reachability reachabilityForLocalWiFi];

    // 2.检测手机是否能上网络(WIFI\3G\2.5G)
    Reachability *wann = [Reachability reachabilityForInternetConnection];

    // 3.判断网络状态
    if (wifi.currentReachabilityStatus != NotReachable) {
        NSLog(@"有wifi");
    }else if([wann currentReachabilityStatus] != NotReachable)
    {
        NSLog(@"使用手机自带网络进行上网");
    }else
    {
        NSLog(@"没有网络");
    }
}

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    // 1.检测wifi状态
    Reachability *wifi = [Reachability reachabilityForLocalWiFi];

    // 2.检测手机是否能上网络(WIFI\3G\2.5G)
    Reachability *wann = [Reachability reachabilityForInternetConnection];

    // 3.判断网络状态
    if (wifi.currentReachabilityStatus != NotReachable) {
        NSLog(@"有wifi");
    }else if([wann currentReachabilityStatus] != NotReachable)
    {
        NSLog(@"使用手机自带网络进行上网");
    }else
    {
        NSLog(@"没有网络");
    }

}

@end

网络编程练习 -- 检测网络状态

时间: 2024-10-10 14:52:37

网络编程练习 -- 检测网络状态的相关文章

Android网络编程之获取网络上的XML

Android网络编程之获取网络上的XML 请尊重他人的劳动成果,转载请注明出处:Android网络编程之获取网络上的XML 为要获取网络上的XML所以需要服务器端提供的支持. 一.创建服务器端: 服务器端项目结构: 服务器端运行效果图: 第一步:创建业务所需的JavaBean package com.jph.server.model; import java.util.Date; /** * 新闻实体类 * @author jph * Date:2014.09.26 */ public cla

Android网络编程之获取网络上的Json

Android网络编程之获取网络上的Json 请尊重他人的劳动成果,转载请注明出处:Android网络编程之获取网络上的Json 为要获取网络上的Json所以需要服务器端提供的支持. 一.创建服务器端: 服务器端项目结构: 服务器端运行效果图: 第一步:创建业务所需的JavaBean package com.jph.sj.model; import java.util.Date; /** * 新闻实体类 * @author jph * Date:2014.09.26 */ public clas

javaAPI_网络编程基础_网络编程基础1

网络编程基础 1.网络编程概述 (1).计算机网络 是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件 及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统. (2).网络编程 就是用来实现网络互连的不同计算机上运行的程序间可以进行数据交换. 2.网络模型概述以及图解 (1).计算机网络之间以何种规则进行通信,就是网络模型研究问题. (2).网络模型一般是指 OSI(Open System Interconnection开放系

[iOS 多线程 & 网络 - 2.8] - 检测网络状态

A.说明 在网络应用中,需要对用户设备的网络状态进行实时监控,有两个目的:(1)让用户了解自己的网络状态,防止一些误会(比如怪应用无能)(2)根据用户的网络状态进行智能处理,节省用户流量,提高用户体验 WIFI\3G网络:自动下载高清图片 低速网络:只下载缩略图 没有网络:只显示离线的缓存数据 苹果官方提供了一个叫Reachability的示例程序,便于开发者检测网络状态https://developer.apple.com/library/ios/samplecode/Reachability

网络编程 第一部分 网络参考模型

1.ISO(International Organization for Standization),即国际标准化组织制定网络参考模型,自上而下有:应用层.表示层.会话层.传输层.网络层.数据链路层.物理层七层.该模型仅仅是理论上的知道意义,难以投入实际使用.所以出现了TCP/IP网络参考模型. 2.TCP/IP网络参考模型,它是实际意义上的"事实标准".自上而下分为:应用层.传输层.网络互联层.主机-网络层. 其中应用层对应七层模型中的(应用层.表示层.会话层):传输层对应七层模型中

网络编程模型及网络编程三要素

网络模型 计算机网络之间以何种规则进行通信,就是网络模型研究问题. 网络模型一般是指 OSI(Open SystemInterconnection开放系统互连)参考模型 TCP/IP参考模型 网络模型7层概述: 1.物理层:主要定义物理设备标准,如网线的接口类型.光纤的接口类型.各种传输介质的传输速率等.它的主要作用是传输比特流(就是由1.0转化为电流强弱来进行传输,到达目的地后在转化为1.0,也就是我们常说的数模转换与模数转换).这一层的数据叫做比特. 2. 数据链路层:主要将从物理层接收的数

Java网络编程:初识网络编程

网络编程 什么是计算机网络 两台或更多的计算机组成的网络 同一网络内的任意两台计算机可以直接通信 所有计算机必须遵循同一种网络协议 什么是互联网 互联网是网络的网络 互联网采取TCP/IP协议 其中最重要的两个协议是TCP协议和IP协议 IP地址和网关 IP地址用于唯一标识一个网络接口 IPv4采用32位地址 IPv4地址实际是一个二进制32位的整数,为了便于识别,用十六进制表示后可以分为4组数字,每组数字转换成十进制后用"."隔开就是我们见到的IP地址: IPv6采用128位地址 公

javaAPI_网络编程基础_网络编程基础2

网络编程基础2 1.TCP协议 (1).实现步骤 A:创建发送端的Socket对象 这一步如果成功,就说明连接已经建立成功了. B:获取输出流,写数据 C:释放资源 连接被拒绝.TCP协议一定要先看服务器. java.net.ConnectException: Connection refused: connect (2).客户端 public static void main(String[] args) throws IOException { // 创建发送端的Socket对象 // So

第1章 网络编程基础(1)——网络协议

网络游戏类型:开发的角度 对等的客户端与服务器端 基于大厅的网络游戏 纯C/S结构的网络游戏 网络通信协议 协议(Protocol):两个实体间控制数据交换的规则的集合. 语法(数据格式.编码.信号电平等) 语义(包括用于协调和进行差错处理的控制信息) 定时(包括速度匹配和排序等) OSI模型: 高层协议偏重于处理用户服务和各种应用请求 底层协议偏重于处理实际的信息传输 应用层(Application) 向应用程序提供服务 消息 表示层(Presentation) 为异种机通信提供一种公共语言,