首页
学习
活动
专区
圈层
工具
发布

iOS网络监测

在网络应用中,需要对用户设备的网络状态进行实时监控,有两个目的: (1)让用户了解自己的网络状态,防止一些误会(比如怪应用无能) (2)根据用户的网络状态进行智能处理,节省用户流量,提高用户体验 WIFI...\3G网络:自动下载高清图片 低速网络:只下载缩略图 没有网络:只显示离线的缓存数据 苹果官方提供了一个叫Reachability的示例程序,便于开发者检测网络状态 二、监测网络状态 Reachability...    // 1.检测wifi状态     Reachability *wifi = [Reachability reachabilityForLocalWiFi];     // 2.检测手机是否能上网络...= NotReachable) { // 没有使用wifi, 使用手机自带网络进行上网             NSLog(@"使用手机自带网络进行上网");     } else { // 没有网络...            NSLog(@"没有网络");     } }

1.2K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    iOS网络编程之一——iOS网络框架简介 原

    iOS网络编程之一——iOS网络框架简介 一、引言         通过网络,一款应用才能够内容丰富,才能够完成用户操作与后台数据的交互。网络编程是移动应用或游戏开发开发中不可缺少的技术。...iOS原生的网络框架也十分完善,其中涉及到的许多类和协议用于处理网络开发中的各种需求 二、URL加载框架     iOS的URL加载系统包含许多类与协议,这些类和协议相互协作完成URL加载的信息配置,协议支持...关于URL加载系统,在iOS7之后,NSURLSession是首选的API框架,在iOS9中NSURLConnection相关的方法被弃用,如果需要兼容十分旧的版本,依然需要使用NSURLConnection...三、一些辅助类         1.NSURLRequest         NSURLRequest类负责一个具体的网络请求,其内部封装一个请求路径NSURL对象。...4.NSURLCache         在应用程序的开发中,为了减小对网络的依赖,提高程序性能,常常会对一些非实时性的数据进行缓存处理,NSURLCache类用于管理NSURLRequest请求缓存。

    1.4K21

    iOS-TCP网络框架

    在因特网协议族中,TCP属于传输层, 位于网络层之上,应用层之下. 需要注意的是, TCP只是协议声明, 仅对外声明协议提供的功能, 但本身并不进行任何实现....但考虑到网络波动, 前后台切换, 服务器重启等等可能导致的连接主动/被动断开的情况, 客户端这边我会加上必要的重连处理....理想情况下, TCP进行传输数据的流程可能像这样: 但实际情况中, 因为Nagle算法/网络拥堵/拥塞控制/接收方读取太慢等等各种原因, 数据很有可能会在发送缓冲区/接收缓冲区被累积....调用方通过Request提供URL和相应参数, 然后通过completionHandler回调处理请求对应的响应数据, 就像这样: 站在协议实现方的角度, 发起网络请求做的事情会多一些.

    72210

    谈谈 iOS 网络层设计

    考虑到 AFNetworking 本身就为网络层做了很多事情,二次封装并非是个复杂的事情,所以索性自己写了个便于拓展和维护 (代码完全脱敏): 代码地址和用法 : YBNetwork 参考思路:iOS...在一个网络请求起飞到降落过程中,有一系列独有的配置始终能代表这一个网络请求。...那么思路就出来了,只要把一个针对某个接口的配置对象传递过去,让网络任务的闭包持有这个对象,然后在网络回调处理中,一直传递这个配置对象,像踢皮球一样,最终处理好后回调到业务类中。...重复网络请求处理 提供三种方式: 允许重复网络请求 取消最旧的网络请求 取消最新的网络请求 实现比较简单,具体采用哪种策略还需要根据业务谨慎选择: - (void)start { if (self.isExecuting...提供三种方式: 网络任务会持有YBBaseRequest实例,网络任务完成YBBaseRequest实例才会释放 网络请求将随着YBBaseRequest实例的释放而取消 网络请求和YBBaseRequest

    1.2K00

    iOS 判断监听网络状态

    前言 iOS 常用的用于监听网络变化的有两个库Reachability和RealReachability Reachability的用法 原作者说的用原来的类名会导致应用上架不通过,解决方法是修改类名。...isReachableViaWWAN()){ print("-->蜂窝网络可用<--") } else { print("-->网络不可用<--") }...isReachableViaWWAN()){ print("-->蜂窝网络可用<--") } else { print("-->网络不可用<--") } 注意点 生成对象实例的时候 可以按下面的方式写...}else if(status == .RealStatusViaWWAN){ print("-->蜂窝网络可用<--") }else{ print("-->网络不可用...<--") } } 监听网络状态(Block形式) 它的Block形式 我在测试时返回的状态不正确 老是显示网络不可用 就不推荐使用了 判断网络状态 因为这个组件的原理是ping服务器。

    3.3K20

    iOS-HTTP网络框架

    前言 一.网络请求的构建 网络请求的构建很简单, 根据一个请求需要的条件如URL, 请求方式, 请求参数, 请求头等定义请求生成的接口即可....在任务发起之前我们检查一下是否有可用缓存, 有可用缓存直接返回, 没有就走网络, 网络任务成功后存一下请求数据即可. 3.请求结果的格式化 网络任务完成后带回的数据以什么样的形式返回给调用方, 分两种情况...: 任务成功和任务失败.这里我们定义一下任务成功和失败, 成功表示网络请求成功且带回了可用数据, 失败表示未获取到可用数据....那么没拿到数据可能是网络出错了, 或者网络没有问题只是用户没有关注过任何话题, 那么相应的展示网络错误提示或者推荐话题提示....HHNetworkClient: 网络请求的派发器, 这里会记录每一个服役中的请求, 并在必要的时候切换服务器.

    80720

    神经网络加速器应用实例:图像分类

    不仅仅是硬件的AI Inference 在Simple TPU的设计和性能评估中,一个神经网络加速器的硬件雏形已经搭建完成了;在https://github.com/cea-wind/SimpleTPU...和很多其他的硬件设计不同,以Xilinx的AI Inference 解决方案为例(即之前的深鉴科技),用于AI Inference的设计需要考虑神经网络计算中的多样性,神经网络加速器是一个软件+硬件的解决方案...,使得浮点模型转化为定点模型 提供了Compiler,将模型映射为二进制指令序列 和Compiler相结合的Hardware 这意味着想真正使用之前设计的神经网络加速器——SimpleTPU...也正是由于这一原因,网络结构会尽可能简单,仅以保证本系列文章完整性为目的。 2....CNN 由于手工对神经网络进行量化和layer间融合以及生成指令的复杂性,基于CNN的图像分类/分割网络的运行实例被无限期暂停了。

    5.7K30
    领券